一、多态
多态:多种形态,同意类型的引用指向不同的对象有不同的实现
1.意义:
1.1.同一类型的引用指向不同的对象,有不同的实现–行为多态
1.2.同一对象被造型为不同的类型时,有不同的实现–对象多态
2.向上造型:
2.1.父类型的引用指向子类的对象
2.2.能造型成的类型有:父类型,实现的接口
2.3.能点出来什么,看引用的类型,向上造型之后,能点出来的东西一般少于或等于,一般是少于子类
3.强制类型转换,成功的条件有两个:
3.1.引用所指向的对象就是该类型
3.2.引用所指向的对象实现了该接口
4.建议强转之前通过instanceof来判断引用是否是某种类型
instanceof返回的类型为Boolean型,强转成功的条件就是它为true
二、内部类
1.成员内部类:不太常用
1.1.类中套类,外面的类叫外部类,里面的类叫做内部类
1.2.内部类通常只服务于外部类,对外不具备可见性
1.3.内部类对象通常是在外部类中创建的
1.4.内部类可是直接访问外部类的成员,包含私用的private,内部类中有个隐式的引用,指向创建它的外部类对象
语法:外部类名.this.xxx(外部成员变量名)
2.匿名内部类:比较常用
2.1.如果想创建一个类的对象,并且对象只被创建一次,此时该类不必命名,称为匿名内部类
2.2.匿名内部类想访问外部数据,该数据必须是final的
内部类都有独立的.class文件
三、面向对象的三大特征
一、封装
1.类:封装的事对象的属性和行为
2.方法:封装的事具体的逻辑功能实现
3.访问控制修饰符:封装的是访问的权限
二、继承
1.作用:避免代码的重复,有利于代码的复用
2.父类:所有子类所共有的属性和行为
3.子继承(extends)父类,子类具有:父+子
4.单一继承,多接口实现,传递性
三、多态
1.意义:行为的多态,对象的多态
2.向上造型,强制类型转换,instanceof
3.多态的表现形式:重写+重载
四、调试
F5:逐步调试(进入方法中)
F6:逐过程调试(不进入方法中)
F7:跳出当前方法
F8:跳到下一个断点,若没有下一个断点,则调试结束