JAVA冲刺复习之多态

多态:通俗来说就是多种状态,具体点说就是去完成某个行为,当不同对象去完成时会产生出不同的状态。同一种行为,不同的子类呈现出来的状态是不同的。多态达到了互不干扰,解耦的效果。
ps:多态指的是方法的多态,跟属性无关。
代码实现:
动物类:
package DuoTai;

public class Animal {
public void shout(){
System.out.println("动物喊叫");
}
}
System.out.println("00000000000000000000000000000000000000000000000000000000000000000000");
女孩类:
package DuoTai;

public class Girl {
//与小动物一起玩
public void play(Animal animal){//传一只具体的动物
animal.shout();
}
}
System.out.println("00000000000000000000000000000000000000000000000000000000000000000000");
猫咪类:
package DuoTai;

public class Cat extends Animal {
public void shout(){
System.out.println("猫咪喵喵叫");//重写了父类Animal的方法
}
public void scratch(){
System.out.println("猫咪挠爪子");//体现多态的关键处
}
}
System.out.println("00000000000000000000000000000000000000000000000000000000000000000000");
狗狗类:
package DuoTai;

public class Dog extends Animal{
public void shout(){
System.out.println("狗狗汪汪叫");
}
public void guard(){
System.out.println("狗狗可以看家");
}
}
System.out.println("00000000000000000000000000000000000000000000000000000000000000000000");
测试类:
package DuoTai;

public class Test {
public static void main(String[] args) {
//创建女孩的实例
Girl g = new Girl();//创建女孩的实例,对象
// Cat c = new Cat();//创建猫的实例,对象
// g.play(c);//女孩玩小猫
Animal an1;//定义一个动物,这个动物是什么未知
Cat c=new Cat();//具体的猫
an1=c;//让动物是一只具体的猫
//合成一句:Animal an=new Cat();
Animal an2=new Dog();
g.play(c);
g.play(an2);
}

}

System.out.println("00000000000000000000000000000000000000000000000000000000000000000000");
运行结果:
猫咪喵喵叫
狗狗汪汪叫

posted @ 2025-06-17 21:54  骆驼刺破仙人掌007  阅读(9)  评论(0)    收藏  举报