java试题,求大神解答啊

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

A) 输出:Person
B) 没有输出
C) 编译出错
D) 运行出错

编译出错,,,,,,,,子类只能继承父类的非私有 方法跟变量

选A,目测考多态的。

应该是编译出错吧,name是私有的,根本无法直接使用

A……考的是多肽的应用

编译出错,因为name是私有的,不能被p调用,等于说main方法中name没有声明定义

选A吧!父类引用指向子类对象!父类中的一个方法只有在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用; 对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法

C is right

一看这个题就是编译出错,但站在实践是检验真理的唯一标准的角度,还是敲了一遍代码。
效果图如下:
图片说明

编译出错,子类不能直接调用父类私有成员。

编译出错,子类不能直接调用父类的私有成员

编译出错了!私有属性子类调用不 到