什么时候实际使用抽象类?

时间:2010-07-12 13:13:43

标签: java

  

可能重复:
  Why abstract classes necessary?

这里有一个程序,它有一个没有抽象方法的抽象类。它也工作正常。 那么抽象类的用途是什么,它是如何不允许创建对象的,我们可以用具体类来实现抽象类中定义的方法,我们必须扩展抽象类然后为什么不直接在具体类中为什么需要抽象类。 有人可以解释一下吗?

方案:

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();
}
}

1 个答案:

答案 0 :(得分:0)

有时知道一个对象是从一个从“父”抽象类扩展而来的类创建的,这很有用。例如,如果您正在编写包含许多不同类型事件的自定义事件处理程序,则您不会知道每个事件将包含哪种数据类型,或者使用该数据需要哪些方法。如果您创建了一个名为“Event”的父抽象类,则可以将该类扩展为MouseEvent,KeybaordEvent,NetworkEvent等,并将它们全部传递给事件处理程序方法,例如

public void handleEvent( Event e ){ ... }

然后你可以确定它是什么特定的事件对象并相应地处理它。