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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Yaphets 中级黑马   /  2014-3-2 13:27  /  964 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Person{
private String name=”Person”;
int age=0;
}
public class Child extends Person{
public String grade;
public static void main(String[] args){
Person p = new Child();
System.out.println(p.name);
}
}
A) 输出:Person
B) 没有输出
C) 编译出错
D) 运行出错

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

5 个回复

倒序浏览
编译出错
父类的name被私有了  不能被访问

评分

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

查看全部评分

回复 使用道具 举报
编译出错
  1. public class Child extends Person {
  2.         public String grade;
  3.         public static void main(String[] args){
  4.                 Person p = new Child();
  5.                 System.out.println(p.name);                //对象引用不能直接访问类中的私有成员
  6.         }
  7. }
复制代码




评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
C:编译出错
因为name是Person类的私有变量,在子类中是不能被调用的
子类和父类在同一个包的继承性:
       如果子类和父类在同一个包中,那么子类自然地继承了其父类不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法。继承的成员变量以及方法的访问权限保持不变。
子类和父类不在同一包中的继承性:
      如果子类和父类不在同一个包中,那么子类继承了父类的protected、public的成员变量作为子类的成员变量,并且继承了父类的protected、public方法,继承的成员活方法的访问权限保持不变,但子类不能继承父类的友好变量友好方法。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
C  编译出错,因为 Person类name是私有的,不能被子类多继承,只能调用age属性
回复 使用道具 举报
编译出错 父类私有成员子类是不能访问的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马