您的位置:首页 > 编程语言 > Java开发

Java中关于多态的理解

2018-03-15 11:35 274 查看
方法的多态的三要素(属性没有多态):
要有重写,要有继承(父类),父类引用指向子类对象。

class cat extends Animal{
public void voice(
System.out.println(" 喵喵");
)
}

public void main testAnimalVoice( Animal c){
c.voice();
}

Animal a = new cat;
Animal b = new pig;
testAnimalVoice(a);
引用时一般为父类对象,为编译时类型,相对模糊。
子类对象相对具体,为运行时类型。

程序的最终状态只有在执行过程中被决定,而非是在编译过程中就被决定的。

调用子类中的其他方法时,因为现在a是 Animal 类,所以没办法直接调用,需要使用强制转型:
Cat a2 = (Cat) a;
a2.CatchMouse(); 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: