2.子类继承父类 需要先实例化父类 再实例化子类 但如果父类是抽象类 那该怎么处理
每个子类的构造函数中都隐式的有一条super(),语句,用来调用父类中空参数的构造函数,实际抽象类是一种特殊的类,它也有普通的方法也有自己的构造方法,当我们实例化子类对象是,super语句就起作用了,它先初始化父类中的成员变量,因为子类可以直接调用父类中的成员,所以要先实例化它的成员变量
3.子类继承父类 继承父类的所有 怎么实现的 是保存一个父类的引用么 (那么父类是抽象类又怎么办)
每个类中都隐式的存在一个this语句,抽象类也不例外,但是它的this语句代表的是它的派生子类,同时它的派生子类也拥有了父类中的this操作
public abstract class AbstractTest {
public AbstractTest ()
{
System.out.println(this.getClass().getName());//这里输出的是它子类的名字,也就相当于多态概念,父类的引用指向子类对象,只不过这里的this代表的是抽象类的派生子类
}
}
|