1. 一個類中的方法如果只有聲明沒有實現,則稱為抽象方法,必須用abstract修飾之;一個有抽象方法的類稱為抽象類,也必須用abstract修飾之,但抽象類可以沒有抽象方法;抽象類不能被創建: view plaincopy to clipboardprint? 01.// 抽象類 02.abstract class A { 03. // 抽象方法 04. abstract public void proc(); 05.} 06. 07.// 沒有抽象方法的抽象類 08.abstract class B { 09. public void proc(){ 10. } 11.} 12. 13.public class Main { 14. public static void main(String[] args) { 15. // 不能創建抽象類,下面兩句編譯錯誤 16. A a = new A(); 17. B b = new B(); 18. } 19.} class A { // 抽象方法 abstract public void proc(); } // 沒有抽象方法的抽象類 abstract class B { public void proc(){ } } public class Main { public static void main(String[] args) { // 不能創建抽象類,下面兩句編譯錯誤 A a = new A(); B b = new B(); } } 2. 一個繼承自抽象類的子類,如果沒有覆蓋抽象基類的所有方法,它也是抽象類,必須用abstract修飾之: view plaincopy to clipboardprint? 01.// 抽象類 02.abstract class A { 03. // 抽象方法 04. abstract public void proc(); 05.} 06. 07.abstract class B extends A { 08.} // 抽象類 abstract class A { // 抽象方法 abstract public void proc(); } abstract class B extends A { } 3. 接口中的方法都是抽象方法,只能有public或默認修飾符,不能有private或protected修飾符。 4. 接口可以包含字段,這些字段都被隱式聲明為static final,即接口中的字段是可以認為是常量。 |