Interface

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

l Interface

1. class YourClass{ }

2. interface YourInterface

3. {

4. void a();

5. //static final void b();

6. public static final int var = 1;

7. }

8. public class MyInterfaceClass extends YourClass implements YourInterface

9. {

10. interface Interface1{ }

11. public void a(){}

12. public abstract interface MyInterface extends Interface1

13. {

14. public void f();

15. //MyInterface(){}

16. }

17. public static void main(String args[])

18. {

19. //new MyInterface();

20. }

21. }

可以

l Line 12:interface可以繼承多個super-interface。

l Line 2、10、12:interface可使用的modifiers只有public及abstract。

l Line 6:可以在interface內宣告fields,但這些fields必須是"public static final"(常數constant)。"public static final"可以省略,但不可以是blank final,即一定得設定初始值,因此interface內不可能會定義任何的instance variable。

不可以

l Line 4、5:不可以在interface內宣告protected、private、static或final method,且interface內的method不可有method body({})。否則會compiler error。

l Line 15:interface內不可定義任何的constructor。

l Line 19:interface及abstract class不可被被實體化,因尚未定義完整(內含abstract method)。

注意

class

l Line 11:若一個class implements某個interface,這個class就必須實做(implement)這個interface內所定義的所有abstract methods(即長出method body{}來),否則這個class必須宣告為abstract class。

l Line 8:一個class只能extends一個superclass,但可以implements一個以上的interface,而且implements子句不可出現在extends子句之前。class會去implements interface主要目地是為了多型(polymorphism)。

method

l Line 4、5:在interface內的method不管是否有加public abstract,一定都是public abstract method。

来自:【 Garfield 的 SCJP 閱讀筆記 】

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航