子类对象实例化过程 流程
1.产生对象并对成员变量默认初始化
2.对构造方法中的形式参数赋值
3.构造方法中是否有this语句调用
4.super语句调用或隐式调用父类的构造方法
5.对当前类中的成员变量显示初始化
6.执行当前构造方法中的代码
super和this不能同时出现在一个构造中
原因子类默认调用父类构造方法
多态性(数据类型转换)
方法的重载和重写
可以直接应用在抽象类和接口上
java变量俩个类型
1.编译时(声明)
2.运行时(实际)
三个步骤分别是
1.继承
2.方法重写
3.父类的对象指向子类实例
父类数据类型不能强制转换子类
兄弟类之间数据类型不能转换
子类的对象可以替代父类的对象使用
一个变量只能有一种确定的数据类型
一个应用类型变量可能指向多种不同类型对象
子类可以看作是特殊的父类,所以父类类型的引用可以指向子类对象:向上转型
一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能再访问子类中添加的属性和方法。