多态
向上转型
父类的引用指向子类的对象,创建出来的实例只能使用父类的方法,子类独有的方法无法使用,并且必须遵循访问权限修饰符,private方法无法使用,
运行的时候优先查看子类有没有方法的重写,没有再去执行父类的方法
引用与对象
Son son=new Son("ss");
这段代码中,等号后面new是一个对象,前面的son是一个引用
向下转型
如果当前引用不是指向的目标类型 会报error
属性无法重写,和方法不同的是,如果执行一下程序
Animal animal=new Cat();
System.out.println(animal.name);
就会输出animal的名字,而不是cat的名字,这里直接是编译类型的name,而不是运行类型
instanceof
判断a的运行类型是不是b或者其子类的类型 其中a是对象 b是一个类 二者必须有关系,如果没有关系的话编译会不通过
动态绑定机制
注意方法和对象绑定机制不同