類:主觀抽象,是對象的模板,可以實例化對象.
習慣上類的定義格式:
package xxx;
import xxx;
public class Xxxx{
屬性........;
構造器.......;
方法.........;
}
定義屬性:實例變量.
格式:[修飾符] 類型 變量名 [ = ? ]
實例變量定義在類中但在任何方法之外.
實例變量有默認值:各種各樣的0.(同數組)
實例變量的作用域至少在本類內部,受訪問控制符的限制.
在重合作用域,實例變量和局部變量允許有命名衝突,"局部優先".
定義方法:
格式:[修飾符] 返回類型 方法名 (參數列表) [throws 異常]{.......}
Java中所有參數都是值傳遞.
當沒有值返回時,返回類型必須被定義爲void.
返回類型必須與方法名相鄰,其他修飾符可以調換位置.
構造器:
在創建對象的過程中調用的方法.
構造器沒有返回類型.
構造器的名字與類名相同.
格式爲:[修飾符] 類名(參數列表){ },修飾符可以是private\protected\default
在一個對象的生成周期中構造器只用一次,由系統自動調用,不允許手工調用.
程序員沒有提供一個構造器,系統會自動提供一個無參的構造器.
獲得對象的方式:
通過new(在堆空間中申請分配空間), new 類名( ),可以通過這種形式獲得一個對象, 這時的對象是無法使用, 必須把他的地址
存放進一個對象變量才能夠使用. 例如: Car c = new Car( );
注意: 最好在寫類時提供一個無參的構造器. this 關鍵字: this是個隱式參數, 代表當前對象;
public 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賦值後也是實例了.