javaoop_第三章_多态


1、一个类不想被继承就写一个final
2、多态是具有表现多种形态的能力的特征。多态的特性:可以减少代码量,且可以提高代码的可扩展性和可维护性。
3、将一个父类的引用指向一个子类对象即是向上转型,自动进行类型转换。
4、向上转型后通过父类引用变量调用的方法是子类覆盖或者继承父类的方法,通过父类引用变量无法调用子类特有的方法。
5、向下转型后可以访问子类特有的方法。注意必须转换为父类指向的真是子类类型,否则将出现类型转换异常ClassCastException
6、实现多态的条件:<1.继承是多态的基础,没有继承就没有多态<2.子类重写父类的方法<3.父类引用变量指向子类对象。
7、使用instanceof运算符时,对象的类型必须和instanceof的第二个参数所指向的类或者接口仔继承树上有上下级关系,否则会出现编译错误。
8、instanceof通常和强制类型转换结合使用,要先通过instanceof进行类型判断,再进行相应的强制类型转换。

9、父类到子类的转换即向下转型:使用场景:当需要调用子类特有的方法时。

第一节:多态概述
1、多态指 对象的多种形态:引用多态与方法多态
注意:
A:继承是多态的实现基础
B:方法重写也是多态的体现

2、引用多态
A:父类的引用可以指向本类的对象:父类 对象名 = new 父类();
B:父类的引用可以指向子类的对象:父类 对象名 = new 子类();——多态的体现
注意:该对象调用的方法是从父类继承或子类重写的方法,并且 会丢失子类 特有的方法。
注意:
A:子类的引用不可以指向父类的对象
B:B例的话,父类对象不能直接调用 子类的独有方法(只能访问父类继承给子类的东西)
3、方法多态
A:创建本类对象时,调用的方法为本类方法
B:创建子类对象时,调用的方法为子类重写的方法或者继承的方法
——
——
第二节:引用类型转化
引用类型转换:
1、向上类型转换(隐式/自动类型转换),是小类型到大类型的转换。
如:Dog dog=new Dog();Animal animal=dog;//正确,自动类型提升,向上类型转换

2、向下类型转换(强制类型转换),是大类型到小类型的转换(存在风险,溢出)

如:Dog dog1=(Dog)animal;//向下类型转换


软件使用技巧:

1、子类方法名点中——Ctrl+1——可以将所有抽象方法补全。
2、Ctrl+1——修改类名,连着文件名一起修改。


你可能感兴趣的:(javaoop_第三章_多态)