黑马程序员技术交流社区

标题: 2. 以下代码运行输出是??? [打印本页]

作者: rightyuan521    时间: 2015-4-30 22:28
标题: 2. 以下代码运行输出是???
2. 以下代码运行输出是???
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);
}
}

作者: rolan    时间: 2015-4-30 22:51
    楼主你代码敲错了,代码中是不允许有两个公共类的,原因是什么我倒忘记了,还有在主函数中是不能直接调用父类中的成员变量的,这样会出错,代码经过修改如下,输出Person
  1. class Person{//不允许有两个公共类
  2.         protected String name="Person";
  3. }
  4. public class Child extends Person{
  5.                 public String grade;
  6.                 public static void main(String[] args){
  7.                 Person p = new Child();
  8.                 System.out.println(p.name);//父类中的name是私有的,你又没有设置方法传值,所以这样调用时会出错的,
  9.    }//经过修改后,输出Person
  10. }
复制代码



作者: 横看成岭侧成锋    时间: 2015-4-30 23:04
应该是错误?
作者: qinrh    时间: 2015-4-30 23:16
错误代码,父类的private成员变量 子类是不能调用的。。。。如果要调用p.age 结果就是0。
作者: gzp123    时间: 2015-4-30 23:26
错误,一不能有俩个公用类,而且代码也错了
作者: yihuihua    时间: 2015-5-1 00:30
这必须会报错的呀,错好多呀,重新写吧




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