多态
一个类的实际对象是确定的,例如都是Student ,但可以指向这个对象的引用类型可以是多个,如:
Student s1 = new Student();
Person s2 = new Student();
Object s3 = new Student();//都是student父类型
1.多态是方法的多态,属性没有
2.父类和子类有关
3.多态存在的条件:继承关系,方法重写。父类的引用指向子类对象
不能重写:
static方法,属于类,他不属于实例
final常量
private

package oop.Deom01.Deom04;
public class Application {
public static void main(String[] args) {
//一个对象的实际类型是确定的 如:new Student()
//可以指向的引用类型是不确定的,父类的引用指向子类
Student s1 = new Student();//能调用的方法都是自己的或者继承父类的
Person s2 = new Student();//父类型,可以指向子类,但不能调用子类独有的方法
Object s3 = new Student();//都是student父类型
s2.run();//子类重写了父类的方法,执行子类的方法
s1.run();
//对象能执行那些方法,主要看对象左边的类型,和右边关系不大
//子类没有重写父类的方法,父类有的话,调用父类的
}
}
1、父类的引用指向子类的对象
2.子类转换转为父类,向上转换不用强制转换,会丢失一些子类独有的方法
3.父类转换为子类,向下转换
4.方便方法的调用,减少重复代码

浙公网安备 33010602011771号