构造器的特殊用法:
基类 引用变量名 = new 子类();
class BaseClass
{
public Base()
{
System.out.println("fulei");
}
public test()
{
System.out.println("父类的方法");
}
}
public class Subclass
{
public Sub()
{
System.out.println("zilei");
}
public test()
{
System.out.println("子类方法");
}
public static void main(String[] arg)
{
BaseClass p = new SubClass();
p.Base(); //输出 fulei
p.test(); //输出 子类方法
p.Sub(); //编译出错
}
}
编译的是基类,运行的是子类
当基类有对应的子类时,运行子类重载的方法
当基类没有对应的子类时,运行基类的该方法
当存在该子类,却没有基类时,编译报错