標籤:通過 訪問 相同 定義 數組 實現 pack 數列 student
類:主觀抽象,是對象的模板,可以執行個體化對象。
習慣上類的定義格式:
package xxx; import xxx; public class Xxxx{ //屬性 ......; //構造器 ......; //方法 ......;}
格式:[ 修飾符 ] 類型 變數名 [ = ? ]
執行個體變數定義在類中但在任何方法之外。
執行個體變數有預設值:各種各樣的0。(同數組)
執行個體變數的範圍至少在本類內部,受存取控制符的限制。
在重合範圍,執行個體變數和局部變數允許有命名衝突,“局部優先”。
格式: [ 修飾符 ] 傳回型別 方法名( 參數列表 ) [ throws 異常 ] { ...... }
java中所有參數都是值傳遞。
當沒有值返回時,傳回型別必須被定義為void。
傳回型別必須與方法名相鄰,其他修飾符可以調換位置。
在建立對象的過程中調用的方法。
構造器沒有傳回型別。
構造器的名字與類名相同。
格式為:[ 修飾符 ] 類名( 參數列表 ){ },修飾符可以是private、 protected、 default、private
在一個對象的組建循環中構造器只用一次,由系統自動調用,不允許手工調用。
程式員沒有提供一個構造器,系統會自動提供一個無參的構造器。
通過new(在堆空間中申請分配空間),new 類名(),可以通過這種形式獲得一個對象,這時的對象是無法使用,必須把他的地址存放進一個物件變數才能夠使用。
例如 :
Car c=new Car();
注意:
最好在寫類時提供一個無參的構造器。
this關鍵字:
this是個隱式參數,代表當前對象;
publie class Student{ private String name; public void setName(String name){ this.name=name; //this.name為當前對象的成員變數 } }
如果某個構造方法的第一個語句具有形式this( ... ),那麼這個構造方法將調用同一類中的其他構造方法。
注意:
在構造器中this(...)必須放在該構造器的第一行。
this不能出現在靜態方法裡面。
類、對象、執行個體三者的關係:
1,類:是對象的模板,可以執行個體化對象。
2,對象:類的個體。
3,執行個體:實現的對象。
student s; s=new student();
其中 Student為類,s為對象,new Student()為執行個體,s賦值後也是執行個體了。
類和對象