2011中正資管學術部講座 java-object
TRANSCRIPT
ClassClass車子 (Class ,類別 )◦ 汽車 ( 子類別 ) : A 的汽車 ( 實體 ) 、 B 的汽
車◦ 機車 : A 的機車◦ 踏車腳 :C 的 踏車腳◦ 推車 :D 的推車◦ ….
Object v.s. InstantObject v.s. Instant其實兩者指的都是同一種東西
所有從 Class 實體化 new 出來的 Object都稱為 instatnce
我們 new 一個 class 的 Object 出來,稱之 instance
把物件用集合表示,則可得知把物件用集合表示,則可得知 ObjectObject 其其實就是實就是 instanceinstance
把函數求出的值稱為結果把機器造出的東西稱為 品產把類別實體出的物件稱為實體
Static Variable and MethodsStatic Variable and Methods在同一個 Class 中,宣告為 static 的變
數和方法,所用的是同一快記憶體空間沒有宣告為 static 的變數和方法各自
有自己的記憶體空間
Constructor Constructor 就是初始化物件類似於 int a = 1 的動作
public class A{◦ public A (int aa) { int a = aa; } // 建構子◦ pubilc void B(int bb) { int b = bb; } // 方法
}
private private 與 與 get() & set()get() & set()private : 只有我知道 ( 用 )protected : 只有我和我兒子知道 ( 用 )public: 任何人都知道 ( 用 )
為了要存取屬於 private 的變數,所以要使用自己實作的 get() 和 set()
this & superthis & supersuper.[parentMember]super.[parentMethod]
使用時機 : ◦ 當自己有跟爸爸相同名稱的成員或方法,
但是想要使用爸爸的
this & superthis & superthis.[Member]this.[Method]
使用時機 : ◦ 當自己有跟爸爸相同名稱的成員或方法,
但是想要使用自己的◦ 當自己的方法中有跟傳入變數相同的成員
,為了要指定而使用 ( 因此通常避免相同名稱的參數 )
this & superthis & supersuper.[parentMember]super.[parentMethod]
使用時機 : ◦ 當自己有跟爸爸相同名稱的成員或方法,
但是想要使用爸爸的
this & superthis & superclass A{
int a; public void function(int a){ this.a = a; }
}class B{
A obj = new A();obj.function(0);}
FinalizerFinalizerJava 的回收機制也可以稱為『解構子』
使用 obj = null; 回收後會自動呼叫 finalizer
建構子→配置資源 ( 記憶體空間 )解構子→回收資源 ( 收回記憶體 )
protected void finalize(){ // 清除資源時要執行的程式碼 }
StringString 一個是對的用法哪 ?String str = “str”;String str = new String();
Wrapper type vs Primitive type Integer int
InterfaceInterface
class I {method A(){}Method B(){}}
如果 class a 和 class b 都要有方法 A 和B
但是 a 的 A 和 b 的 A 會不同怎麼辦 ?
InterfaceInterface1. class a 和 class b 都繼承 class I ?
=> 這樣子 a 和 b 都有相同 A 和 B (X)2. 不要繼承,直接在 a 和 b 中各自實
作方法 A 和 B=> 浪費資源、容易出錯 ( 如 : 混淆 )
3. 使用 Interface=> 因為是在類別中才要實作,因此 a和 b 可以自行定義不同的 A 和 B
Q: 如果 a 兩個都要但是 b 只要 B 不要 A?
很推的資源很推的資源 ~~
參考書目 : ( 幫助我轉學考 Java 榜首的 )<Java 由初學邁向認證 > 金禾出版 鄭博元 著( 最主要還是要看你自己看得滿意 )( 不推薦買翻譯程式書 )
良葛格學習筆記 ( 超多讚 !)