抽象類是不能被例項化的

飄過的小熊發表於2016-09-17

抽象類是不能例項化的。但可以通過繼承實現其抽象方法,然後建立例項或者可以建立匿名類來使用。
如:

抽象類: Person有一抽象方法say()

public abstract class Person {
abstract void say();
}

繼承:

class Jim extends Person{
 @Override
  void say() {
   System.out.println("Hi my name is Jim!");
 }
}

匿名類:

Person p = new Person() {
     @Override
     void say() {
     System.out.println("Hello");
    }
};

這裡看上去是真像建立了物件。

介面大致也是一樣的。因此在有一篇博文中的Callback,為什麼要通過匿名類來建立就是這個原因。

相關文章