OOP(一)類與物件
阿新 • • 發佈:2019-02-07
類對一類相同事物的抽象描述
物件,屬於該對應類的一個例項
物件的三個主要特徵:
行為---可以對物件施加什麼操作或者方法
狀態---當執行方法後,物件如何響應
標識---如何辨別相同行為與狀態的不同物件
基本定義格式
[修飾符] class 類名
{
成員變數
構造器
方法
}
public class Person { private String name; private int age; private String sex; public Person(String name, int age, String sex) { this.name = name; this.age = age; this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public void printMsg() { System.out.println("superman"); }
私有成員變數(例項域)用private修飾符修飾,確保類自身方法能夠訪問這些例項域,而其他類的方法不能讀寫這些域
什麼是構造器
[修飾符] 構造器名(形參列表)
{
//code...
}
作用:對例項域進行初始化。
幾點注意:
- 構造器和類同名
- 構造器沒有返回值
- 每個類至少有一個構造器(如果使用者沒有顯式定義構造器,系統會自動建立一個預設無參的構造器)
- 構造可有>=0個引數
- 總是伴隨著new一起呼叫
例項化物件
[類名] 自定義物件名 = new 構造器名();
this關鍵字
情況一:當例項域與區域性變數重名時,this表示隱式引數(使用該例項域的物件)。
情況二:在一個構造器中,呼叫本類的另一個構造器,此時this(形式引數);必須放於構造器第一行。
方法
[修飾符] 返回值 方法名(形參列表)
{
//code....
}
- 方法不能獨立定義,必須在類裡面進行定義
- 方法要麼屬於類的一個物件,要麼屬於類(static方法)
- 方法不能獨立執行,必須使用類或者物件作為呼叫者
傳值機制:總是按值傳遞
方法的過載
要同一類中,方法名相同,引數列表不同(引數的型別,個數,順序)。與方法的返回值型別以及修飾符無關。
封裝
將物件相關資訊隱藏在物件內部,不允許外部程式直接訪問,透過該類所提供的方法對內部資訊進行操作與訪問。
基本封裝操作:設定或者獲取例項域的值
- 一個私有的資料域
- 一個共有域訪問器方法
- 一個公有域更改器方法(進行資料域合法性檢查)