1. Class (型別)
(1) primitive: float, double, int;
(2) Scanner (Java 內建的 class)
(3) String (這是別人已經寫好的)
(4) 可視為集合名詞。( instance ← 個體(實例))
(5) 在Class下有 :
*1. attributes (members, fields),稱作-屬性
attribute:
#1. public
#2. private
*2. methods (operations)
2. 100% 物件導向程式語言(Ex: Java),不能用非物件導向的方法來撰寫。
Ex: 寫一個向量的程式
(1). C語言的寫法
innerproduct(*a, *b);
缺點是不知道 *a, *b 所接受到的值是否為 vector 的值;
(2). Java的寫法
vector a, b;
answer = a.innerProduct(b);
(以下為錯誤寫法)
int c, d;
answer = c.innerProduct(b);
answer = a.innerProduct(d);
因為 c 和 d 皆不屬於 vector 的 members。
3. Java 有執行速度較慢的缺點,但隨著科技的進步,這項缺點已慢慢有所改善。
4. Java有跨平台的優點。(Ex: C/C++ 有 windows版、Linux版,但Java沒有)
5. "A class is a Type" (Ex: Type Var → Date d)
6. 繼承
當A物件的屬性和B物件的屬性相同時,就可以讓 A繼承 B。
(Ex: Toyota & Nissen)
7. "new" Operator
Date a; //宣告一個為 Date 型別的 object named "a", 但是 a 沒有被配置記憶體。
a = new Date(); ← memory allocation;
8. Java Mechine(JVM) 有garbage collectors (釋放沒有用的記憶體)的功能。
9. obj.?? (屬性or方法)
判別方式:
methods 有 "()"
Ex: obj.attribute
obj.method()
10. Java程式的撰寫看重的是一個整體性。
Ex: Mr. Java 開車子,而不是開一個引擎或輪子..........。
沒有留言:
張貼留言