多态
多态性是指同操作作用于某一类对象,可以有不同的解释,产生不同的执行结果;
存在的三个必要条件:
- 需要存在继承和实现关系;
- 同样的方法调用而执行不同的操作、运行不同的代码(重写操作);
- 在运行父类或接口的引用变量可以引用其子类的对象;
多态作用
- 多态通过分离做什么和怎样做,从另一个角度将接口和实现进行分离;
- “多态”消除了类型之间的耦合关系;
- 多态的存在提高了程序的扩展性和可维护性;
class main{
public static void main (String []args){
//dog、cat对象只能调用Aniaml中的方法或子类重写父类的方法
Aniaml dog =new Dog ();
Aniaml cat=new Cat ();
dog.eat();
cat.eat();
}
}
class Aniaml{
private String name;
public Aniaml(String name){
this.name = name;
}
//这个方法没多大意义,为了让子类继承实现
public void eat(){
}
}
class Dog extend Aniaml{
public Dog(String name){
super(name);
}
public void eat(){
System.out.print("吃骨头");
}
}
class Cat extend Aniaml{
public Cat(String name){
super(name);
}
public void eat(){
System.out.print("吃鱼");
}
}