关于子类继承父类问题,脑袋晕了球解决。

fewf44 2015-05-27 12:38:32

题目:
public class Father {
private String name;
public void setName(String name){
System.out.println("父类");
this.name = name;
}
public void getName(){
System.out.println(name);
}
}

public class Child extends Father{
public static void main(String[] args) {
Child ch = new Child();
ch.setName("高超");
ch.getName();
}
}

我的理解:子类继承父类,那么继承了他的所有,但是能够使用的只有父类的公有方法,setName、和getName方法,
当子类调用setName方法时,会执行this.name = name; 那么这个时候这个this应该是子类自己,但是子类不是不能使用父类的私有属性吗?为何能赋值呢?

想不通 还请大神指教一下 感谢
...全文
297 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
javacankillyou 2015-05-28
  • 打赏
  • 举报
回复
楼上讲得很清楚。。
  • 打赏
  • 举报
回复
父类方法是共有的,而共有的方法参数是默认权限,共有的,默认的都可以供子类所用啊
finemi 2015-05-27
  • 打赏
  • 举报
回复
进入误区了 访问权限指的是能否【直接】访问,对于间接访问莫变量,这个完全不属于访问限制的范围内,并且对于封装来说,调用另一个类的方法,他只需要有该类的方法访问权限,并且获得该方法的返回值就是了,而具体这个值是怎么来的,调用者不关心也没办法关心。 所以对于getter或者setter,他就是一个普通方法,和其他方法没有任何区别。 当调用String getName()时,调用者获得他的String类型的返回值,至于这个值是怎么得到的,那完全是这个类的这个方法在做了。 这就好比做web程序时,客户端无法直接直接访问webapps以外的任何文件,但是他可以访问webapps里面的某一文件,比如这文件是一个jsp或者servlet,这个jsp里面却可以读取本地webapps目录以外的文件内容呈现给客户端
alan19931103 2015-05-27
  • 打赏
  • 举报
回复
子类中有父类对象,可以由哪个父类对象访问把。。。
daishaodong 2015-05-27
  • 打赏
  • 举报
回复
我只记得不继承构造方法哈
邹邹wl 2015-05-27
  • 打赏
  • 举报
回复
私有的子类不能继承,但是setter方法又给父类的私有属性赋值了,你的困惑是这个? 他调用这个方法的时候,就相当于父类的执行这个方法,你这样理解吧。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧