黑马程序员技术交流社区

标题: 看下这个题目 [打印本页]

作者: Yaphets    时间: 2014-3-2 13:27
标题: 看下这个题目
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) 运行出错

作者: wq10zj    时间: 2014-3-2 13:35
编译出错
父类的name被私有了  不能被访问

作者: xietansheng    时间: 2014-3-2 13:38
编译出错
  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. }
复制代码





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

作者: 天凌蓝    时间: 2014-3-2 13:59
C  编译出错,因为 Person类name是私有的,不能被子类多继承,只能调用age属性
作者: 织语不如书    时间: 2014-3-2 17:33
编译出错 父类私有成员子类是不能访问的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2