继承、final、向上转型、向下转型、动态绑定、重写和重载

一、继承

1,关系
继承是 is - a 的关系。
因为java中不支持多重继承
2,继承的作用
继承的作用主要是实现代码的复用。
3,继承代码的表示
子类/派生类 extends 父类/基类/超类。
4,继承了父类的什么?
子类继承了父类, 除构造方法外的所有东西。
因此在子类的构造方法的第一行 需要加上super() 用来调用父类 的构造方法。
5,父类的实例对象 只能访问自己成员 不能访问子类的成员和方法。
6,protected关键字 主要用于继承
7,继承中代码块的执行顺序是什么?
先执行父类静态代码块 ,子类静态代码块,父类非静态代码块,子类非静态代码块,父类构造方法,最后子类构造方法。
8,继承层次太复杂,一般我们不超过三层的继承关系。

二、final

1,final关键字修饰类,表示该类不能被继承,称之为密封类 。
2,final关键字修饰成员变量,成员变量为常量

三、向上转型

向上转型就是父类的引用引用了子类的实例对象。
父类引用 = new 子类对象;

发生向上转型的时机
直接赋值 (子类直接给父类)
方法传参 (方法参数传的参数的子类)
方法返回 (返回值是接收的子类)

四、向下转型

向下转型就是用子类的引用去引用父类的实例对象,或者用子类引用接收父类的引用,需要强制类型转换。
子类引用 = (子类类型)父类对象;

发生向下转型 必须先进行向上转型

五 、重写和重载

(1)、重载(overload)
1,概念
函数方法名相同,参数的类型不同以及参数个数不同,返回值不做要求。
2,范围
重载作用于同一个类当中,不能作用于两个类当中。
3,限制
权限修饰符不做要求
(2)、重写(覆盖)
1,概念
方法名,参数类型以及参数个数,返回值类型完全相同。
2,范围
重写作用于拥有继承关系的两个类中。
3,限制
被重写的方法不能拥有比父类更严格的访问控制权限

重写的注意事项
1,父类要重写的方法不能被private修饰
2,子类的方法权限一定要小于等于父类的方法权限
3,重写的方法不能是静态方法

六、动态绑定

父类 引用 引用子类对象时,程序编译前 ,父类调用的父类的同名方法,但是打印出来是子类的同名方法。
当子类和父类中出现同名方法的时候,,才会出现动态绑定。

**构造方法类是否可以发生动态绑定? 可以的
在父类构造方法中调用被子类已经重新的方法,在父类中调用子类的方法

发布了55 篇原创文章 · 获赞 85 · 访问量 5126

猜你喜欢

转载自blog.csdn.net/lzh_99999/article/details/103100184