问个小问题,子类到底能不能继承父类的private域

ChenChong1024 2016-08-09 02:49:32
比如有一个父类:Person 里面有一个private String name
java官网上说,子类不能继承父类的Private域,
那我如果有一个Student类继承Person类
Student类里面不就没有name域了么?
...全文
163 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
soton_dolphin 2016-08-09
  • 打赏
  • 举报
回复
不能继承的意思是,不可以在Student 类里面直接使用。但是student 类里面是有包括这个域的在jvm里面。
public Person(){
   private String name = "Hello"
   protected int age = 10;
   public void setName(String n){
         this.name = n
  }
     public void getName(){
         return this.name
  }
}

public Student {
    private String ID;
    public Student(id){
          age = 12; // 继承父类,直接使用
          super.setName("aaa");  //无法继承,靠公共方法设置
         this.ID = id;
    public static void main(String[] args){
          System.out.println(getName()) ; // 继承父类,直接使用,返回名字
   }
  }
ChenChong1024 2016-08-09
  • 打赏
  • 举报
回复
那如果没有继承的话,Student类里面是不是就没有一个name的属性了?
Fling_kai 2016-08-09
  • 打赏
  • 举报
回复
不能,只有父类的public protected 和没有修饰的成员属性可以被继承!
nikyotensai 2016-08-09
  • 打赏
  • 举报
回复
不能,想要继承的话用protected

62,628

社区成员

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

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