java 多态要点

1、多态是方法的多态,不是属性的多态(与属性无关)。

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

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

***父类引用指向子类对象,这个过程称为向上转型(子类可以自动转化成父类),属于自动类型转换,向上转型的父类引用变量只能调用其编译类型的方法,不能调用它运行时类型的方法,这时我们就需要进行类型转换,称为向下转型。

public class TestPloym {

public static void main(String[] args) {

Animal animal =new Animal();

/*  animal.shout();

Animal dog = new Dog();

dog.shout();

Cat cat = new Cat();

cat.shout();*/

        animalCry(animal);

Dog dog =new Dog();

animalCry(dog);

Cat cat =new Cat();

animalCry(cat);

}

static void animalCry(Animal animal){

animal.shout();

}

}

class Animal{

public void shout(){

System.out.println("叫一声");

}

}

class Dogextends Animal{

public void shout(){

System.out.println("汪汪汪");

}

}

class Catextends Animal{

public void shout(){

System.out.println("喵喵喵");

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。