package com.edison;
public class ExtendAct {
/** 先给父类成员变量分配内存空间,然后初始化父类构造方法,接着给子类成员变量分配内存空间,最后初始化子类构造方法 */
public static void main(String[] args) {
A b = new B();
/** 2.父类的引用不能调用子类的属性或方法 */
System.out.println("姓名" + b.name);
System.out.println("b.setName()=" + b.setName());
// System.out.println
// ("年龄"+b.age);/*这里得不到b的age属性,因为父类引用指向子类对象时,父类的引用不能调用子类的属性或方法*/
}
}
class A {
/** 3.初始化类之前要先给成员变量分配内存空间 */
String name = setName();
String setName() {
System.out.println("给父类name属性赋值");
return "Parent";
}
/** 1.父类的引用不能调用子类的属性或方法 */
public A() {
System.out.println("父类构造方法");
}
}
class B extends A {
int age = setAge();
public B() {
System.out.println("子类构造方法");
}
int setAge() {
System.out.println("给age属性赋值");
return 15;
}
String setName() {
System.out.println("给子类name属性赋值");
return "aaa";
}
}
java继承复习
最新推荐文章于 2024-04-23 18:52:22 发布