目的
Java的原生基本資料型態共有 8 個, 比如 int, short. 當我們想要建立一個叫 Student的資料型態, 裏面有 名字, 英文成績, 數學成績, 此時就必需把這三項型態組合成一個自訂的資料型態.
語法
自訂的資料型態, 在 C語言使用 struct, 在 Java裏直接改成 class, 請注意如下 class Student, 是寫在 public class Test之外的, 也就是外部類別. 要產生一個新的Student, 使用 new 關鍵字. 這跟C語言調用 malloc() 函數一樣, 都是跟系統要求某一區塊的記憶體. 產生出來的 s1, 稱為物件 (Object). 要存取s1裏的 name, eng, 直接在 s1後面加上 “.” 即可. “.” 就是 “的”, 比如 s1.name即 “s1的name”.
public class Test { public static void main(String[] args){ Student s1=new Student(); s1.name="Thomas"; s1.eng=100; s1.math=80; } } class Student{ String name; int eng, math; }
看了上面的代碼後, 可以簡略的下一個定論, 什麼是類別(class)? 類別就是一個自訂的資料型態.
預設值
產生出來的 s1, 如果沒有設定裏面的變數就拿來印列, 會如何呢? 原來當Java new出一個物件後, 就會自動將裏面的值自動初始化, String初始化為 null, int初始化為 0, 小數初始化為 0.0
public class Test { public static void main(String[] args){ Student s1=new Student(); System.out.printf("namd : %s, eng : %d, math : %d\n", s1.name, s1.eng, s1.math); } } class Student{ String name; int eng, math; } 結果 : namd : null, eng : 0, math : 0
todo