首页 > 试题广场 > 以下代码运行输出的是
[单选题]

以下代码运行输出的是

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);
	}
}


  • 输出:Person
  • 没有输出
  • 编译出错
  • 运行出错

26个回答

添加回答
推荐
编辑于 2017-01-09 19:47:11 回复(2)
首先不能两个public类,其次child类中无法访问父类的私有变量  
发表于 2017-01-06 20:26:51 回复(1)
这两种对象的创建很容易混淆。
1.
    Parent p1 = new Child();
    p1.function();
    当function()为子类覆盖父类的function时,则调用子类的;
    。。。。不是。。。。。。。。。。。。,则调用父类的;
注意:p1是不能调用子类独有的方法的,会产生编译错误!!;
           对于成员变量,则p1只能调用父类的,不能调用子类的
2.
    Child c1 = new Child();
c1就不存在不能调用子类独有的方法了。
发表于 2017-03-21 17:33:34 回复(0)
C
类外不能访问本类私有变量
发表于 2017-01-23 16:57:06 回复(0)

C

private修饰的name不能再Child中访问到

发表于 2017-04-03 15:59:51 回复(0)
name是父类的 private 属性,所以是不能访问的
发表于 2017-01-20 21:43:23 回复(0)
如果把private String name 改为publicString name就选A
发表于 2017-01-02 22:43:19 回复(0)
由于父类Person中name属性是private,所以只在本类中可以访问到;由于Java是动态绑定的,所以p是Child类的实例,没法访问到父类的私有属性。
发表于 2016-12-12 16:09:58 回复(0)
Java中对字段属性是静态绑定,方法成员是动态绑定,这里错在:在子类中试图访问父类的private字段,所以编译不通过,将private去掉就可访问,不是动态绑定的问题,它本来就属于静态绑定。
首先不能两个public类,其次child类中无法访问父类的私有变量 。
这两种对象的创建很容易混淆。
1.
    Parent p1 = new Child();
    p1.function();
    当function()为子类覆盖父类的function时,则调用子类的;
    。。。。不是。。。。。。。。。。。。,则调用父类的;
注意:p1是不能调用子类独有的方法的,会产生编译错误!!;
           对于成员变量,则p1只能调用父类的,不能调用子类的
2.
    Child c1 = new Child();
c1就不存在不能调用子类独有的方法了。
发表于 2017-05-09 22:49:46 回复(0)
注意; name 是父类 的私有变量,不能在子类中访问。私有变量只能在本类中访问
发表于 2017-04-27 23:12:15 回复(0)
父类的私有方法不被继承
发表于 2017-04-23 19:25:38 回复(0)
疑问:编译时类型由声明改变量时使用的的类型决定,题中的p编译时类型不是Person吗??如果是,那不就可以访问到私有成员变量??
发表于 2017-04-09 11:16:32 回复(0)
p是Child类的实例,没法访问到父类的私有属性
发表于 2017-03-31 09:43:06 回复(0)
总结:一个源文件只能有一个public类 私有型变量只能由所在的类访问,其子类亦不可访问 编译出错:程序不能运行;运行出错:运行异常抛出一个exception
发表于 2017-03-30 14:09:57 回复(0)
name 属性为父类私有,子类无法访问,所以应该编译出错
发表于 2017-03-22 20:23:57 回复(0)
私有成员只能在本类访问,而p虽然是父类引用,实际指向的是子类对象,无法访问父类私有成员
发表于 2017-03-14 22:57:17 回复(0)
上转型变量继承父类public变量,未被子类修改的public方法,被子类修改的方法
发表于 2017-03-11 08:07:27 回复(0)
C。
private修饰的仅该类自己可用,子类也不可以调用。
编辑于 2017-03-09 11:12:00 回复(0)
一个源文件只能有一个public类,私有变量只能类访问
发表于 2017-03-07 12:31:36 回复(0)
子类继承是无法访问父类的私有变量的。
发表于 2017-03-06 22:08:58 回复(0)
子类不能访问父类的private修饰的成员变量
发表于 2017-02-25 10:05:19 回复(0)
牛客网,程序员必备求职神器
QQ群:169195721
微 信:www_nowcoder_com 关注
微 博:牛客网 关注

扫一扫,把题目装进口袋