父类 对象 = new 子类()

父类对象new子类对象

Animal b = new Dog();

如上,对象b调用属性的时候调用父类属性,将对象b调用方法的时候调用子类的方法。

class Animal{
}
class Dog extends Animal{
}
public class Test4 {

	public static void main(String[] args) {
		Animal a = new Animal();
		Animal b = new Dog();
		System.out.println(a instanceof Animal);
		System.out.println(a.getClass());
		System.out.println(b.getClass());
		//先用的子类的方法所以调用的是子类的getClass
		System.out.println(a.getClass() .equals(b.getClass()));
		
	}
}

输出结果在这里插入图片描述
由于先调用子类的方法所以,对象b 的类的类型是子类的类类型Dog.


版权声明:本文为qq_44147882原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。