java向上转型实例

来源:互联网 发布:淘宝自助开通账户 编辑:程序博客网 时间:2024/05/18 17:04


class A {
public void hello(){
System.out.println("Hello,here is A");
}
}
class B extends A {
public void hello(){
System.out.println("Hello,here is B");
}
}


class C extends B{
public void hello ()
{
System.out.println("hello,here is C");
}


}
public class JDynamicMethodTest{
public static void main(String[] args) {
A a=new A();//实例化类A,得到A类型的对象a
B b=new B();//实例化类B,得到B类型的对象
C c=new C();//实例化类C,得到C类型的对象
A x;//声明一个A类型的对象x,即x的引用对象类型是A
x=a;//初始化x,被引用的对象类型是x
x.hello();//x实际执行的是类A的hello方法
x=b;//初始化x,通过向上转型,此时被引用的对象类型是B
x.hello();//执行类B的Hello方法
x=c;//初始化x,通过向上转型,此时被引用的对象类型是C
x.hello();//执行类C的hello方法

b=new C();//重新初始化b,通过向上转型,此时被引用的对象类型是C
b.hello();//b实际执行的是类C的Hello方法
}
}
1 0
原创粉丝点击