Java的学习之路——多态

17 多态
17.1 体现
方法的重载(overload)和重写(overwrite)
对象的多态性(可以直接应用在抽象类和接口上)一个对象多种形态;在Java中,子类的对象可以替代父类的对象使用
17.2 作用
提高程序的可复用性
提高可扩充性和可维护性
17.3 重写与重载
17.3.1 重写
在子类中可以根据需要对从父类中继承来的方法进行改造重写方法,在程序执行时,子类的方法将覆盖父类的方法。
方法重写必须和被重写的方法具有相同的方法名、参数列表和返回值类型。
重写方法不能使用比被重写方法更严格的访问权限。
17.3.2 重载
所谓方法重载是指在一个类中,多个方法的方法名相同,但是参数列表不同。
参数列表不同指的是参数个数或参数类型不同。
不仅是一般的方法,构造方法也可以重载
17.3.3 区别
重写不再同一个类中,类之间具有继承关系。重写需要方法名相同,参数列表相同(参数类型或个数)和返回值相同@Override

重载在同一个类中,重载需要方法名相同,参数列表不同(参数类型或个数)与返回值无关@Overload
18 类型转换
18.1 基本数据类型的转换:
小的数据类型可以自动转换成大的数据类型
可以把大的数据类型强制转换成小的数据类型
18.2 对Java对象的强制类型转换
从子类到父类的类型转换可以自动进行
从父类到子类的类型转换必须通过强制类型转换实现
无继承关系的引用类型间的转换是非法的
在使用前可以使用instanceof操作符测试一个对象的类型

你可能感兴趣的:(Java)