继承
1、继承中成员变量的访问特点:就近原则。(用super找父类)
先在局部位置找,本类成员位置找,父类成员位置找,逐级往上。
2、继承中成员方法的访问特点:就近原则。
方法的重写:(加@Override重写注解)
当父类的方法不能满足子类现在的需求时,需要进行方法重写。
继承体系中,子类出现了和父类中一模一样的方法声明,就称子类这个方法是重写的方法。
父类的静态方法和私有方法是不能被继承的,所以也不能添加到虚方法表中,也就不能被重写,
多态
定义:同类型的对象,表现出的不同形态。
表现形式:父类类型 对象名称 = 子类对象。
多态前提:1、有继承/实现关系 2、有父类引用指向子类对象 3、有方法重写
多态的好处:
多态形式下,右边对象可以实现解耦合,便于扩展和维护。
使用父类型作为参数,可以接收所有子类对象,体现多态的扩展性与便利。
多态的弊端:不能调用子类的特有功能,解决方案是将其变回子类类型
Animal a = new Dog(); Dog d = (Dog) a;
多态调用成员:
调用成员变量的特点:编译看左边,运行看左边。
调用成员方法的特点:编译看左边,运行看右边。
引用数据类型的类型转换,有几种方式?
自动类型转换 Person p = new Student();
强制类型转换 Student s = (Student) p;
强制类型转换可以解决什么问题?
1、可以转换成真正的子类类型,从而调用子类独有功能
2、转换类型与真实对象类型不一致会报错
3、转换的时候用instanceof 关键字进行判断
包