JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java 新手區 » Object/物件導向  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Re:給新手 - 介面(interface) [Re:caterpillar]
Duncan

還隱隱作痛

版主

發文: 7816
積分: 39
於 2003-09-13 01:59 user profilesend a private message to usersend email to Duncanreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
caterpillar wrote:
1
2
3
4
5
6
7
8
9
10
11
12
class BigServer implements ServerListener {
    private String name;
                                                                                
    public BigServer(String name) {
        this.name = name;
    }
                                                                                
    // 實作介面方法
    public void listen() {
        System.out.println("Now, BigServer " + name + " is listening....");
    }
}


下面這個程式示範一些interface的例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
interface ServerListener {
    public void listen();
}
 
class BigServer implements ServerListener {
    private String name;
 
    public BigServer(String name) {
        this.name = name;
    }
 
    // 實作介面方法
    public void listen() {
        System.out.println("Now, BigServer " + name + " is listening....");
    }
}
 
class TinyServer implements ServerListener {
    private String name;
                                                                                
    public TinyServer(String name) {
        this.name = name;
    }
                   
    // 實作介面方法                                                             
    public void listen() {
        System.out.println("Now, TinyServer " + name + " is listening....");
    }
}
 
public class UseInterface {
    public static void main(String[] args) {
        BigServer bigServer = new BigServer("Big Brother");
        TinyServer tinyServer = new TinyServer("Small Boy");
 
        bigServer.listen();
        tinyServer.listen();
    }
}



我強調過兩次了,這樣子的寫法和 interface 扯不上關係(請參閱 J2SE 敝人的貼文: Interface VS Abstract class),bigServer/tinyServer 可以執行 listen 操作並不是因為兩者所屬的 class 有 implements ServerListener,而是二者皆有定義 listene 這個介面。以上述的例子來說,ServerListener 完全沒有存在的必要。下一例子才有點出 interface 的意涵,也才有所謂的 polymorphism。


reply to postreply to post

給我
辣味豆腐 其餘免談
話題樹型展開
人氣 標題 作者 字數 發文時間
31437 [精華] 給新手 - 介面(interface) caterpillar 4790 2003-09-13 01:48
28117 Re:給新手 - 介面(interface) Duncan 1919 2003-09-13 01:59
28420 Re:給新手 - 介面(interface) zrjian 881 2003-10-22 09:44
27512 Re:給新手 - 介面(interface) caterpillar 221 2003-10-22 15:54
27434 Re:給新手 - 介面(interface) caterpillar 225 2003-10-24 14:28
27647 Re:給新手 - 介面(interface) Duncan 195 2003-10-24 16:14
27555 Re:給新手 - 介面(interface) TAHO 1098 2004-01-07 04:13
19967 Re:給新手 - 介面(interface) slin_2008 25 2006-02-08 17:13
19991 Re:給新手 - 介面(interface) kentsl 32 2006-02-09 11:20
20856 Re:給新手 - 介面(interface) cozybreeze 360 2006-03-08 10:14
15093 Re:給新手 - 介面(interface) 瑤瑤 58 2007-01-14 11:17
» JWorld@TW »  Java 新手區 » Object/物件導向

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8