1. 多态:父类或者接口的引用 指向了子类对象。
多态的好处:提高了代码的扩展性
多态的弊端:父类不能调用子类的特有的内容。
多态的前提:
1.要有关系,继承或实现
2.要有覆盖(重写),因为父类不能调用子类特有内容。
2.多态时成员的特点
1.成员变量
编译时,参考引用型变量所属的类中是否有调用的成员变量,有,编译通过,没有,编译失败。
运行时,参考引用型变量所属的类中是否有调用的成员变量,并运行该类所属的成员
简单说就是:编译和运行都参考左边。
2.成员函数(非静态)
编译看左边,运行看右边
3.静态函数
编译和运行都看左边,静态函数是不需要对象的,类名直接调用即可。
3.内部类:将一个类定义在另一个类的里面。
1.内部类可以直接访问外部类的成员,包括私有成员。
2.外部内要访问内部类的成员,必须创建内部类的对象。
为什么内部类可以直接访问外部类的成员,因为内部类持有外部类 引用,即外部类.this
4.匿名内部类:内部类的简写格式
前提:匿名内部类必须继续或实现一个外部类或接口。