多态
程序员文章站
2022-03-15 19:25:33
...
多态
个人理解
多态:当同一个类有多个子类重写了同一个方法时,若有某个方法a需要通过引用参数(各个子类)来调用各个子类的这同一个方法b无需因为引用参数不同而重写不同的方法a,只需把引用参数改为父类则在使用方法a时则会自动根据实际传入的子类选择该子类的方法。
如:
public class test {
int a = 1;
public static void main(String[] args)
{
test tt = new test();
animal ani = new animal();
dog dd = new dog();
cat cc = new cat();
tt.letAnimalShout(ani);
tt.letAnimalShout(dd);
tt.letAnimalShout(cc);
}
public void letAnimalShout(animal bb) { //在这里,由于dog和cat继承了animal类,故用animal类作为引用参数,却可以输入dog和cat类对象
//却运行结果根据输入类对象的shout方法的不同而不同,这就是多态性质,有了多态性则无需为本方法重写引用参数分别为dog和cat的方法
bb.shout();
}
}
class animal{
public void shout() {
System.out.print("zzzzzzzzz");
}
}
class dog extends animal{
public void shout() {
System.out.print("wwwwwwww");
}
}
class cat extends animal{
public void shout() {
System.out.print("mmmmmmmmmmm");
}
}