Possible Duplicate:
Why abstract classes necessary?
这是一个程序,它有 1 个没有抽象方法的抽象类。它也工作得很好。 那么抽象类有什么用途,它不允许创建对象,我们可以将其与具体类一起使用来实现抽象类中定义的方法,我们必须扩展抽象类那么为什么不直接在具体类中为什么需要抽象类。 谁能解释一下吗?
程序:
abstract class demo {
public void show() {
System.out.println("not abstract method");
}
// public abstract void display();
}
class demo1 extends demo {
public void display() {
System.out.println("abstract method");
}}
class program {
public static void main(String args[]) {
demo d = new demo1();
d.show();
d.display();
//d.display1();
}
}
最佳答案
有时,知道对象是从某个“父”抽象类扩展而来的类创建的,这非常有用。例如,如果您正在编写包含许多不同类型事件的自定义事件处理程序,您将不知道每个事件将包含什么类型的数据,或者需要什么方法来使用该数据。如果您创建了一个名为“Event”的父抽象类,则可以将该类扩展为 MouseEvent、KeybaordEvent、NetworkEvent 等,并将它们全部传递给事件处理程序方法,例如
public void handleEvent( Event e ){ ... }
然后您可以确定它是什么具体类型的事件对象并相应地处理它。
关于java - 什么时候实际使用抽象类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3228847/