我认为是这样的:
abstract class A {}
public class B extends A{
public static void main(String[] args)
{
A a=new B();
}
}
abstract class A {}
public class B extends A{
public static void main(String[] args)
{
A a=new B();
}
}
abstractAAA obj;
obj = new AAA();
abstractAAA obj;这就相当于创建一个对象引用
抽象类是无法实例化的,所以不会产生该抽象类的对象。如:
AbsClass是抽象类,你用new AbsClass()产生一个对象就不行。
但它的子类如果实现了该抽象类的抽象方法,就可以实例化了。如:
ConClass如果是AbsClass的子类,且实现了AbsClass的抽象方法,就可以用new ConClass()产生该类的实例对象。
而OO中,而且子类可以造型为父类。如:
AbsClass abs=new ConClass() ,变量abs类型虽为AbsClass,实际却是指向ConClass对象的引用。
abstract aa
{}aa ob = new aa();
类aa的实例化,并创建了引用对象...//这时会出现编译错误,因为是抽象类...
aa ob;
ob是类aa的引用变量//正确我是这样认为的...