Java中的多态-Java300集笔记整理

多态涉及到继承、转型。多态指的是同一个方法调用,由于对象不同可能会有不同的行为。比如吃饭,我吃饭的方法可能和你吃饭方法不一样。

要点:

  • 多态是方法的多态,不是属性的多态(多态与属性无关)

  • 多态的存在有3个必要条件:继承、方法重写、父类引用指向子类对象

  • 父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。

public class Animals {
	public void shout() {
		System.out.println("叫了一声");
	}

}
class Dog extends Animals{
	@Override
	public void shout() {
		System.out.println("汪汪汪");
	}
}
class Cat extends Animals{
	@Override
	public void shout() {
		System.out.println("喵喵喵");
	}
}
class Mouse extends Animals{
	
}
public class Test {
	//有了多态,只需要让增加的这个类继承Animals类就可以了
	static void animalCry(Animals a) {
		a.shout();
	}
	public static void main(String[] args) {
		Animals a1 = new Cat(); //向上自动转型,父类引用子类对象
		Animals a2 = new Dog();
		animalCry(a1);
		animalCry(a2);
		Dog d = new Dog();
		animalCry(d);	
	}
}

Guess you like

Origin blog.csdn.net/lipengfei0427/article/details/121379073