黑马程序员技术交流社区
标题:
多态问题
[打印本页]
作者:
muma
时间:
2014-4-11 23:47
标题:
多态问题
如何理解:
编译时多态:方法重载
运行时多态:方法覆写
作者:
muma
时间:
2014-4-11 23:48
希望大神能给出详细的代码证明
作者:
向日葵的曙光
时间:
2014-4-12 08:52
运行时多态:指一个对象可以具有多个类型,方法的覆盖
这样对于对象而言分为:
理解运行时多态:
Car c = new Bus();
Car编译时类型 ? 编译时检查变量类型是否存在,是否有调用的方法
Bus运行时类型 ? 实际运行是访问heep中的对象,调用实际的方法。
运行时多态是由运行时类型决定的
编译时多态是由编译时类型决定的
猫,小鸟,狗 都是动物,都可以安上动物的标签。
Interface Animal{}
Class Car implements Animal{}
Class Bird implements Animal{}
Class Dog implements Animal{}
方法中
Animal a = new Car();
Animal b = new Bird();
Animal c = new Dog();
*方法重载看的是参数的编译时类型
public class Animal{
public static void main(String[] args){
}
}
(1) 是覆盖吗?不能多态了
abstract class MyClass{
priavate void m();
}
class Sub extends MyClass(){
public void m();
}
(2) ? 错误的修饰符组合
abstract class MyClass{
priavate abstract void m();
}
class Sub extends MyClass(){
public void m();
}
(3)? 5.0 新? 非覆盖
abstract class MyClass{
private final void m();
}
class Sub extends MyClass(){
public void m();
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2