對於成員(member)存取權的限制 成員的資料被毫無限制的存取,任誰都可以指定任意值給成員,Java語言為了防止這種現象的產生,規定:有一種成員的資料不能任由類別外部的任何人隨意存取。
建立私有成員(private member) 宣告成員的時候如果在前面加上private字樣,其他人就無法直接從main()方法當中(也就是Car類別以外的地方)存取到類別內部的成員資料,具有這種特性的成員稱為私有成員(private member)。 class Car { private int num; private double gas; ... } 將field設定為私有成員的型態
建立公共成員(public member) method也算是一種成員(member),因此加了public的method也被稱為公共成員(public member)。加上public的method,表示著從類別以外的地方(例如從main()的內部)也可以加以存取。
關於「封裝」(capsule) Java的類別也提供封裝的功能。也就是說將類別內的私有成員隱藏起來,避免不必要的外在存取,僅提供必要的公共成員(public member)供他人呼叫使用,如此一來其他程式設計師即使不知道class內部的運作方式,也不會因為誤用class而產生錯誤的現象。
method的多載化(overloading)
關於建構元(constructor) 定義建構元的方式,和定義method的方法非常相似,而且請您務必記得:建構元的名稱一定要和類別名稱相同。另外,與method不同的是,建構元並不需要有任何傳回值。 修飾子 類別名稱(引數清單) { 程式敘述 ; … }
System.out.println("生產了汽車。"); } 關於建構元(constructor) public Car() { num = 0; gas = 0.0; System.out.println("生產了汽車。"); } 使用類別名稱做為建構元的名稱
建構元也有多載化的現象 建構元也有多載化的功能,也就是根據建構元的參數數目與資料型態呼叫相對的建構元,最大的好處是在很輕易的狀況下就完成物件初始值的設定工作。
為建構元加上modifier(修飾子) 建構元和method一樣,也是可以在前面加上public或private(public或prvate都是所謂的modifier)。目前為止我們使用的建構元都是加上public,如果改為private的話,接下來您甚至連產生物件都會有問題。
瞭解什麼是instance變數 與物件關係密切的field被稱為「instance變數」(instance variable)、與物件關係密切的method被稱為「instance method」。 只要是instance變數或instance method,就可以在物件產生之後,立刻透過物件呼叫instance變數或instance method,並傳值給它們。
class variable 和 class method 和類別有關的field被稱為類別變數(class variable) class 類別名稱 { static 資料型態 類別變數名稱; ... } 類別變數名稱前面要加上static
static 傳回值資料型態 method名稱(參 數、參數…) 類別變數(class variable)和class method class method 和類別有關的method被稱為class method。 static 傳回值資料型態 method名稱(參 數、參數…) 程式敘述; ... } static變成class method