A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 forward 于 2013-8-24 20:15 编辑

1.如果子类函数A私有了,应该就不会覆盖父类函数A,那么父类函数A隐藏了?创建子类对象怎么访问这么父类函数A
class Person
{     
   void A()
        {
  System.out.println("ssss") ;
         }
}
class Student extends Person
{     
private void A()
{
  System.out.println("aaaa") ;
}
public class ExampleDemo01
{
public static void main(String args[])
    {
         Student  C = new Student ();
         C.A() ;   //子类A函数私有无法访问,编译不通过,那么怎么调用父类A函数呢??


评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

6 个回复

倒序浏览
看你的问题不太明白,不如贴代码看的清楚些
回复 使用道具 举报
改好了。。。。。。
回复 使用道具 举报
本帖最后由 べPNヤ 于 2013-8-23 21:24 编辑

首先 子类student 是无法复写父类的方法 A  因为权限小于父类的方法A权限,其次 C.A  掉用方法的格式就错了  应该是 C.A();   之类继承父类之后 就有了父类的方法,楼主代码的意思是要重写父类方法,调用就是创建对象  使用 对象.方法名();的方式调用即可

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
  1. class Person
  2. {   
  3.         //因为方法被私有了,无法给子类调用,只有写一个方法给子类调用。
  4.         void showA()
  5.         {
  6.                 A();
  7.         }
  8.          //因为你子类权限小于父类所以无法覆盖父类,所以父类也加上private
  9.         private void A()
  10.     {
  11.                 System.out.println("ssss") ;
  12.     }
  13. }
  14. class Student extends Person
  15. {   
  16.         //调用父类A();方法
  17.         void showSuperA()
  18.         {
  19.                 super.showA();
  20.         }
  21.         //覆盖父类调用A方法。
  22.         void showA()
  23.         {
  24.                 A();
  25.         }
  26.         //覆盖父类A方法。
  27.         private void A()
  28.         {
  29.                 System.out.println("aaaa") ;
  30.         }
  31. }
  32. public class Demo
  33. {
  34.         public static void main(String[] args)
  35.     {
  36.          Student  C = new Student ();
  37.          C.showSuperA() ;
  38.          C.showA();
  39.     }
  40. }
复制代码
感觉只有这样能实现了。。另外希望养成良好代码格式的习惯。。

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
重写不了啊 如果加上访问修饰符更不能编译通过 私有只能本类访问 建议改名 调用父类的A方法
回复 使用道具 举报
重写不了啊 如果加上访问修饰符更不能编译通过 私有只能本类访问 建议改名 调用父类的A方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马