选择题:
父类private的成员变量,根据权限修饰符的访问控制范围,只有在类内部才能被访问,就算是他的子类,也不能访问。这里如果将Person p = new Child();改成 Person p = new Person();代码依然无法通过编译,因为子类作用域中访问不到父类的私有变量,无法为其生成正确的字节码。另外,一个Java文件中不能有两 个public类。
在调用父类的有参构造时,则必须显式使用 super(参数列表), 明确表明先调用父类的构造方法
要求:在子类中调用父类的构造方法必须放在子类构造方法的首行
B. static 关键字表明的一个成员变量或者成员方法,与具体对象无关,直接通过类名进行访问
C. 面向对象开发中,引用传递意味着传递的并不是实际的对象,而是对象的引用,外部对引用对象所做的改变可能会反映到所引用的对象上
eg:
对象创建时代码的加载顺序为:静态代码 --> 非静态代码 --> 构造方法。
若继承了父类,则加载顺序为:父类的静态的代码 --> 子类的静态的代码 --> 父类内部非静态代码 --> 父类的构造方法 --> 子类的非静态代码 --> 子类的构造方法。
编程题:
代码实现: