码迷,mamicode.com
首页 > 其他好文 > 详细

06动手动脑

时间:2017-11-11 00:30:10      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:xtend   分享   span   类型   style   logs   intvalue   ++   rgs   

技术分享

 1 class A
 2 {
 3     public void get()
 4     
 5     {
 6         System.out.println("A");
 7     }
 8 }
 9 
10 class B extends A
11 {
12     public void get()
13     
14     {
15         super.get();
16         
17         System.out.println("B");
18     }
19 }
20 
21 public class Address
22 {
23     public static void main(String [] args)
24     
25     {
26         B b=new B();
27         
28         b.get();
29     }
30 }

程序结果截图;

技术分享

技术分享

 

技术分享

上述程序运行结果判断:

Parent.printValue(),myValue=100

Child.printValue(),myValue=200

Child.printValue(),myValue=200

Child.printValue(),myValue=200

Child.printValue(),myValue=201

 

解释:

第一二行为正常的输出;

第三行因为parent指向Son类型的对象,所以调用子类方法;

因为parent.myValue++调用的为Father类的变量,所以第四行调用子类的方法;

((Child)parent).myValue++调用的为子类的变量所以第五行调用的为子类的方法,变量值为201;

 

特点:

当父类变量引用一个子类对象时,调用的实例方法为子类的方法,调用的类方法为父类的方法;调用的变量为父类的变量

06动手动脑

标签:xtend   分享   span   类型   style   logs   intvalue   ++   rgs   

原文地址:http://www.cnblogs.com/china-xyh/p/7816801.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!