Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Interface

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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 12interface可以繼承多個super-interface

l           Line 21012interface可使用的modifiers只有publicabstract

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

不可以

l           Line 45:不可以在interface內宣告protectedprivatestaticfinal method,且interface內的method不可有method body({})。否則會compiler error

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

l           Line 19interfaceabstract 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 45:在interface內的method不管是否有加public abstract,一定都是public abstract method



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


相关文章

相关软件