Re: [問題] 有關static 的問題??
※ 引述《mixfuture (恩)》之銘言:
: 新手一直發問....麻煩各位前輩解答..感激不盡
: class A
: {
: static int i=10;
: }
: final class B extends A
: {
: int i =5;
: public static void main(String [] args)
: {
: System.out.println(i);
: }
: }
: 1.編譯時發生錯誤,因為子類別不能宣告成final
錯,可以宣告成final
: 2.編譯時發生錯誤,靜態方法不能取用物件屬性
static method不能存取與物件相關的data member,或member function
原因就在static method並沒有this這個參考
: 3.執行時列出"10"
static data field不用產生instance就能存取, A.i
: 4.執行時列出"5"
與物件相關的data field必須要有instance才能存取
: 我編譯的時出現錯誤 上面出現 說 varible i cannot be refrecnce from static context
: 是指選項2的答案嗎?
要產生instance才能存取
EX:
B b = new B();
System.out.print(b.i);
: 我想在請問
: 1.子類別是否可以寫成final 如果可以表示說"繼承完後 不能在被其他人繼承"
這是對的
: 2.如果我今天想要印出i值,我是不是必須在class A中
: 寫一個 static {int i =10 } 這樣呢?
????????????????????不是很懂你的意思
我想上面應該有解了你這個問題了!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.170.48.82
※ 編輯: tgbsa 來自: 218.170.48.82 (07/23 07:04)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):