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();
要有重写,要有继承(父类),父类引用指向子类对象。
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();
相关文章推荐
- 关于Java多态的理解。
- 关于java继承与多态的深入理解
- java关于多态的一些理解
- 关于java多态的理解
- 关于java中多态的理解,涉及到内存空间
- 关于Java 多态的理解及案例
- 关于java中的多态理解
- 关于java多态
- 关于JAVA多态的一些笔记
- 关于Java注解的理解
- 关于Java中集合框架的层级结构理解
- 关于C++多态的理解
- 【那些年关于java多态应用】
- 深入理解Java三大特性中的多态
- java多态的具体表现实例和理解
- 如何理解java中重写,重载与多态(整理)
- 初步理解Java的三大特性——封装、继承和多态
- 关于java中String方法split的理解
- 关于Java形参和实参的理解
- java 深度理解之上转型,多态