Java初学之继承与多态

 更新时间:2021年07月03日 09:29:17   作者:满天星辰只为你闪耀  
这篇文章主要介绍了Java 继承与多态的深入理解的相关资料,子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为,需要的朋友可以参考下

首先我们如果要使用Java中存在的包,可以程序中使用import语句导入包。包说通俗点就是一个

文件夹,为了方便管理。

在程序中声明包的语法:

package <包名>

注意:声明一个包的语句必须写在类中的第一行。

在程序中导入包的格式:

import <包名>.<类名>

重点来了,继承!

继承是面向对象程序设计的一个重要特征,它是通过继承原有类派生出的子类进而构造出更为复杂的子类。子类既有新定义的行为特征,又继承了原有类的行为特征。我们可以这样进一步认为:父类更为通用,子类更为具体。通过继承可以大幅度提高代码复用性,减少代码量,便于程序的后期维护。Java的继承使用extends关键字实现。

Java继承语法格式:

【修饰符】class 子类名 【extends 父类名】{

    //类定义部分

}

!注意:Java中的继承为单继承,即一个子类只能有一个直接的父类。

子类会自动继承父类的属性,子类中也可以定义特定的属性和方法。

下面是重载:

方法的重载,是指在同一个类中的多个方法可以具有相同的方法名,但是这些的方法参数必须不同。

当方法功能相同时,只是接受参数不同的时候,就要用到重载。

使用方法重载需要注意以下几点:

  • 1.同一个类中方法名相同,参数列表不同。
  • 2.返回值类型不能用于区分方法的重载。

提醒:构造方法也可以实现方法的重载。

什么是重写呢?:

子类扩展了父类,子类是一个特殊的父类。子类以父类为基础,额外增加新的属性和方法。

方法的重写要遵循方法名和参数列表都必须相同。子类方法的访问权限应该要比父类方法的访问权限更大或者相等。

多态应用:

多态是指同一操作作用于不同对象,可以有不同的解释,以致产生不同的执行结果。在编译时,可以通过父类的引用指向子类对象,而在运行时,则通过父类指向子类对象,调用子类中重写父类的方法。

多态的具体操作见示例

 程序运行结果如图:

引用变量的强制类型转换

这里的强制转换转换的是对象,要有关系才能转,两个平行的类不能转,如:子类和父类,两个类

都有继承关系,但是可以和父类的父类转。

instanceof 运算符

instanceof运算符的前一个操作数通常是一个引用类型变量。后一个操作数通常是一个类。他它用于判断运算符前面的引用变量是否是运算符后面的类型或其子类型的实例。

总结

本篇文章就到这里了,希望可以对你有所帮助,也希望您可以多多关注脚本之家的更多内容!

相关文章

  • Java Servlet输出中文乱码问题解决方案

    Java Servlet输出中文乱码问题解决方案

    这篇文章主要介绍了Java Servlet输出中文乱码问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Mybatis入门教程之新增、更新、删除功能

    Mybatis入门教程之新增、更新、删除功能

    这篇文章给大家介绍了Mybatis进行基本的增删改操作,非常不错,具有参考借鉴价值,需要的的朋友参考下
    2017-02-02
  • Java实现简单学生管理系统

    Java实现简单学生管理系统

    这篇文章主要为大家详细介绍了Java实现简单学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 详解Struts2中json 相互引用死循环解决办法

    详解Struts2中json 相互引用死循环解决办法

    本篇文章主要介绍详解Struts2中json 相互引用死循环解决办法,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • Java中的private、protected、public和default的区别(详解)

    Java中的private、protected、public和default的区别(详解)

    下面小编就为大家带来一篇Java中的private、protected、public和default的区别(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 简单了解Java位域的一些知识

    简单了解Java位域的一些知识

    这篇文章主要介绍了简单了解Java位域的一些知识,这个概念是在 Effective Java中了解到的, 可以通过EnumSet来代替位域这种方式表达,需要的朋友可以参考下
    2019-07-07
  • springBoot连接远程Redis连接失败的问题解决

    springBoot连接远程Redis连接失败的问题解决

    本文主要介绍了springBoot连接远程Redis连接失败的问题解决,使用springboot里面的redisTemplate进行连接的时候,却发生了报错,下面就来一起解决一下
    2024-05-05
  • Java基于装饰者模式实现的图片工具类实例【附demo源码下载】

    Java基于装饰者模式实现的图片工具类实例【附demo源码下载】

    这篇文章主要介绍了Java基于装饰者模式实现的图片工具类,结合完整实例形式分析了装饰者模式实现图片的判断、水印、缩放、复制等功能,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2017-09-09
  • java使用smortupload上传和下载文件

    java使用smortupload上传和下载文件

    这篇文章主要介绍了java使用smortupload上传和下载文件实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • JAVA异常分类和处理解析

    JAVA异常分类和处理解析

    这篇文章主要介绍了JAVA异常分类和处理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论