登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

AP计算机众里寻他千百度,名师成就满分路

AP计算机

 
 
 

日志

 
 
关于我

大学讲师,中国首批AP计算机教师,著有中国第一套,历经五年实践证明深受学生欢迎的成功的AP计算机双语教材,2013年以93%的满分率开创了中国AP计算机成功的先河,远远超出全美26.6%的满分率,为中国AP计算机教学树立了典范,并在同年加拿大计算机竞赛中勇夺桂冠,任教学生获哥伦比亚大学,麻省理工学院,卡耐基梅隆大学,宾夕法尼亚大学,康奈尔大学,西北大学等学校录取,远程学生遍及北京、长春、南京、重庆、广州、济南, 深圳、成都、费城,洛杉矶,加州,宾州,新罕布什尔州等地,希望借此平台为信息技术的发展做出贡献!

Java-父类的私有方法是不会被子类重写的  

2015-03-21 22:32:33|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 首先Ricki创建如下两个类,彼此为继承和被继承的关系:
      public class Parent {
               public void display() {
               System.out.println("It's Parent Class");
            }
      }
      public class Child extends Parent {
               public void display() {
               System.out.println("It's Child Class");
           }
      }
      接着新建一个带main方法的执行类,其中main方法的代码如下:
      Parent parent = new Child();
      parent.display();
      运行显示结果为:It's Child Class
      上面代码中new Child();实例一个Child的实例,并把实例的引用赋给了类型为父类的一个变量parent,虽然parent的类型为Parent,但调用display方法的时候,调用的是子类的display,也即如果父类的某个方法被子类所重写,那么调用该方法时,执行的是子类中的方法,而不是父类,这也是java支持多态性的一种表现。
      现把Parent修改为如下:
      public class Parent {
               private void display() {
               System.out.println("It's Parent Class");
             }
               public void init() {
                      display();
             }
       }
       由于Parent的display访问修饰符为private,所以main方法中的parent.display();该为parent.init();,重新run,得出的结果为:It's Parent Class。如果吧Parent的display的访问修饰符改为public或protected的话,结果将为It's Child Class。父类的私有方法是不会被子类所重写的,所以通过init方法间接调用display的时候,程序找的是Parent的display,而不是Child。
  评论这张
 
阅读(393)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018