0
点赞
收藏
分享

微信扫一扫

Java后端_9

兮城 2022-03-12 阅读 83

继承

一、继承性的好处:

1.减少代码的冗余,提供代码复用性
2.便于功能的扩展
3.为多态的使用提供前提

二、继承性的格式:

Class A extends B{}
A:子类、派生类、subclass
B:父类、基类、superclass
一旦A继承B之后,A就获取了B中的所有的属性和方法
特别的,父类中声明为private的属性和方法,子类继承父类后,仍然获取了父类中私有的结构,只是因为封装性的影响,使得子类不能直接调用父类的结构而已
子类继承父类以后,子类还可以声明自己特有的属性和方法:实现功能的扩展(extends:扩展)

三、Java中关于继承性的规定:

1.一个类可以被多个子类继承
2.一个类只能有一个父类:Java类的单继承性(和c++的多继承不一样)
3.子父类是相对的概念,如下图2,父类2是子类的直接父类,父类1是子类的间接父类
4.子类可以获取直接父类和所有间接父类的属性和方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、所有自己声明的类都直接或间接继承于java.lang.Object类,意味着,所有java类都具有java.lang.Object类声明的功能。

在这里插入图片描述

常见的bug调试

方式一:硬看,必要的时候在代码中间添加输出语句,看看输出的中间结果和自己想的是否一样
方式二:debug调试

当代码过长时,在每个类、方法前加文档注释,之后调用时可以方便的知道每个类和方法是干什么用的

方法重写(override,overwrite)

1.重写

子类继承父类后,可以对父类中同名同参数的方法,进行覆盖操作(重写的参数列表也是相同的,重载的参数列表是不同的)

2.应用

重写以后,当创建子类对象后,通过子类对象调用子类中与父类同名同参数的方法时,实际执行的是子类重写父类的方法

3.重写的规定

权限修饰符 返回值类型 方法名(参数列表)throws 异常类型 {方法体}
1)子类重写的方法的方法名和形参列表和父类被重写的方法的相同
2)子类重写的方法的权限修饰符 >= 父类被重写的方法的权限修饰符
特殊情况:子类不能重写父类中声明为private权限的方法
3)返回值类型:
i.父类被重写的方法的返回值类型是void,则子类重写的方法的返回值类型也是void
ii.父类被重写的方法的返回值类型是A类型,则子类重写的方法的返回值类型可以是A类或A类的子类
如父类中的一个方法:public Object eat(){},则子类中重写可以写成public String eat(){},因为String是Object的子类
iii.父类被重写的方法的返回值类型是基本数据类型,则子类重写的方法的返回值类型必须是相同的数据类型
4)子类重写的方法抛出的异常类型 <= 父类被重写的方法的抛出的异常类型(具体看异常处理的内容)
总结:权限大于父亲,返回和异常小于父亲
一般开发中都是直接把父类的方法粘贴到子类中再重写方法体的
子类和父类同名同参数的方法要么声明为非static的(这时要考虑重写的情况),要么都声明为static的(静态的就不是重写了)。

举报

相关推荐

0 条评论