- class Demo4
- {
- int num =4;
- public void show()
- {
- System.out.println("Demo4");
- }
- }
- class Demo3 extends Demo4
- {
- int num=3;
- public void show()
- {
- System.out.println("Demo3+++"+num);
- }
- }
- class Demo2 extends Demo4
- {
- int num=2;
- public void show()
- {
- System.out.println("Demo2+++"+num);
- }
- }
- class Demo1
- {
- public void fun(Demo4 d)
- {
- d=new Demo3();//将Demo3赋值给d
- d.num=6;
- System.out.println(d.num);//6
- d.show();//Demo3+++3
- }
- }
- class Demo
- {
- public static void main(String[] args)
- {
- Demo1 d1 =new Demo1();//创建Demo1
- Demo4 d = new Demo2();//多态
- System.out.println(d.num);//4
- d1.fun(d);//将Demo2传到Demo1中的fun方法
- d.show();//Demo2+++2
- System.out.println(d.num);//4
- Demo3 d2 = new Demo3();
- System.out.println(d2.num);//3
- }
- }
复制代码
我很想知道我赋的那个6跑那去了。 |
|