討論區快速選單
知識庫快速選單
討論區最近新進100則主題 掌握Salesforce雲端管理秘訣
[ 回上頁 ] [ 討論區發言規則 ]
請教 ~ 有關interface繼承問題
更改我的閱讀文章字型大小
作者 : qooocean(吉米咪)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/4/15 下午 03:32:46
各位好...^^
小弟(新手) 正在學習Java,但是最近遇到一個interface問題,希望能請求各位的幫助,在此先謝謝各位
目前所學到的知識,interface 應該不能被 "instance" (實體化),但是下列的程式碼為什麼可以被實體化

allAction a = new movement(); /* 此程式碼被"instance" (實體化) */

==========================分割線==========================

interface Action1{ public void canSong(); }
interface Action2{ public void canFly(); }
interface Action3{ public void canJump(); }

interface allAction extends Action1,Action2,Action3{}

abstract class actions implements allAction{}

class movement extends actions{
public void canSong(){ System.out.println("canSong..."); }
public void canFly(){ System.out.println("canFly..."); }
public void canJump(){ System.out.println("canJump..."); }
}

public class example{
public static void main(String[] args) {
allAction a = new movement();
a.canSong(); a.canFly(); a.canJump();
}
}
作者 : ozzy123(ozzy) VC++優秀好手資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4498 | 人氣 37262 | 評價 11100 | 評價/貼文 2.47 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人qooocean註記此篇回應為很有道理 2013/4/15 下午 04:08:08
http://www.coderanch.com/t/450723/java/java/creat-instance-interface
作者 : qooocean(吉米咪)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/4/15 下午 04:28:24
感謝 ~ ozzy123
提供相關知識讓我了解 "interface" 的使用方法
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++一代宗師新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4945 | 人氣 9172 | 評價 32290 | 評價/貼文 6.53 | 送出評價 142 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/4/15 下午 08:58:29
>目前所學到的知識,interface 應該不能被 'instance' (實體化),但是下列的程式碼為什麼可以被實體化
>
>allAction a = new movement(); /* 此程式碼被'instance' (實體化) */

你學到的沒有錯, interface 是不能 instantiate, 但這裡 instantiate 的是 movement, 而 movement 不是 interface.

「new ...」 才是實體化, 「a = ...」 只是 assignment, 不是 instantiate.
 板主 : 風月
 > Java入門一般區 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Java入門一般區 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Java入門一般區
1 洋將 2410 
2 Aron 2130 
3 Aries 1510 
4 DEMO999 1310 
5 Ben 990 
6 ramb 620 
7 ozzy 570 
8 tand 460 
9 Huah 410 
10 vindy 400 
Java入門一般區
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875