線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1170
推到 Plurk!
推到 Facebook!

詢問看不懂的程式碼的意思

尚未結案
warke
一般會員


發表:19
回覆:32
積分:10
註冊:2004-09-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-29 23:00:12 IP:211.76.xxx.xxx 未訂閱
各位大大: 很不好意思,小弟今天作題目的時候發現很多考古題喜歡考底下這樣的題目。
interface I1 {}
interface I2 {}
class Base implements I1{}
class Sub extends Base implements I2{}
public class t
{
        public static void main (String[] arg)
        {
                Sub s1 = new Sub();
                I2 i2 = s1;  // 1
                I1 i1 = s1;  // 2
                Base base = s1;  // 3
                Sub s2 = (Sub)base;  // 4
        }
}
上面這段程式碼,1~4中,哪一行會出錯。 小弟對這個實在是很不在行。 雖然說平常可以直接把程式碼KEY到電腦裡面就知道了。 不過考試的時候卻不行的阿QQ"~ 請問一下各位大大,可以不可以稍微講解一下下呢? 就是說,對於這樣的考題,有沒有什麼答題技巧之類的。
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-15 15:43:57 IP:210.69.xxx.xxx 未訂閱
沒有答題技巧,多做練習題, 多 coding, 多想問題, 多手動測試
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
Komuro
一般會員


發表:27
回覆:46
積分:14
註冊:2004-02-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-15 15:49:12 IP:210.241.xxx.xxx 未訂閱
這支程式是完全合Java語法,1~4行也是正確,compile正常無誤 Sub s1 = new Sub(); I2 i2 = s1; // 1<=因為Sub實作Interface I2,所以可以將Sub的實作物件 s1指定給I2型態的參考,此為多型的概念 I1 i1 = s1; // 2<=雖然Sub並沒實作Interface I1,但透過和Base的繼承關係, 由Base間接實作I1,所以可以將Sub的實作物件s1指定給I1 型態的參考,此為繼承,多型,間接實作的概念 Base base = s1; // 3<=Sub跟Base具繼承關係,所以可將Sub的實作物件s1指定 給Base型態的參考,此為繼承,多型的概念 Sub s2 = (Sub)base; // 4<=Sub跟Base具繼承關係,所以可將Base型態的參考 指定給Sub型態的參考,這是父類別轉子類別,由大轉 小,依Java語法需明顯轉換(Sub)此為繼承,多型,轉型 的概念 你只要能弄清楚 繼承,實作,多型,轉型 等OO概念,這題目就難不倒你
系統時間:2024-05-08 11:47:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!