日期:2014-05-20  浏览次数:20865 次

求助,关于抽象类的问题
我在一本书上看到过这么段话:
抽象类不能有对象,但他们可以用来创建对象引用,因为Java运行时多态性是通过使用父类引用实现的.因此,对象可以用来创建对抽象类的引用,抽象类可以指向子类的对象.

初学Java没多久,对这段话有点不太能理解.谁能帮忙解释下?尽量详细先,最好附带个简单的例子.

------解决方案--------------------
abstract class Base{}
class Derived extends Base{
}

//Base b = new Base();//error
Base b = new Derived();


------解决方案--------------------
抽象类不能直接建立它的对象,只能通过别的类继承它来建立对象
如:
abstract class A{
public abstract double setArea();
}
class B extends A
{
double a,b;
B(double a,double b)
{
this.a=a;
this.b=b;
}
public double setArea()
{
return a*b;
}
}
一个抽象类只关心它的子类是否具有某种功能,并不关心功能的实现,功能的具体的实现由子类完成。
如果一个类是抽象的子类,它必须具体实现父类的abstract方法.
------解决方案--------------------
抽象类不能被实例化,但是可以指向一个子类的实例
从而可以“使用”

前面已经说的很多了
我这里提供一个链接,希望有所帮助
http://www.ahtvu.ah.cn/jxc1/zhykch/5101/fudao5.files/frame.htm