第九天
多态
一种事物的多种形态
多态的前提
继承
重写
父类引用指向子类对象
多态中成员访问的特点
成员变量 编译看左边,运行看左边
成员方法 编译看左边,运行看右边
静态方法 编译看左边,运行看左边
向上转型
父类引用指向子类对象
向下转型
用子类中特有的方法
多态的好处与弊端
不能使用子类中特有的属性和方法
多态多数当做参数来传递
抽象类
抽取这一类事物中相同的部分,相似的部分
抽象类中成员的特点
成员变量,可以是常量也可以是变量
成员方法,既可以是抽象的,也可以是非抽象的
抽象类中不一定有抽象方法,但抽象方法一定在抽象类中
抽象类关键字不能跟哪些关键字共存
final final修饰类不能继承,但是抽象类要有子类重写抽象方法
private 前后矛盾
static static关键字可以通过类名点调用,但是抽象方法又没有方法体,调用没有意义
接口
接口中成员的特点
都是常量。你不加,系统默认给你加上public static final
成员方法,都是抽象的
类与类、接口与接口、类与接口
类与类,是继承,单继承,多层继承
接口与接口 继承,支持多继承
类与接口 实现的关系,可以多实现
接口与抽象类的区别
第十天
四种访问权限修饰符的作用域
本类 同一个包下(子类和无关类) 不同包下(子类) 不同包下(无关类)
private √
默认 √ √
proteced √ √ √
public √ √ √ √
内部类访问的特点
内部内可以直接访问外部类的成员
外部类要访问内部类的话,必须要创建对象
局部内部类访问局部变量
局部变量必须要是final。为了给局部变量增加生命周期。对象
在还可以继续访问,如果不加上final的话,方法弹栈,变量随之消失
匿名内部类
new 类就是继承这个类
new 接口就是实现这个接口,重写里面抽象方法 |
|