瘋狂的Java第五章

2020-08-13 00:30:02


Java是物件導向的程式設計語言,類是物件導向的重要內容,可以吧類當成一種自定義型別,可以使用類來定義 變數,這種類的變數統稱爲參照變數,也就是說,所有類是參照型別。

  • 定義類

在物件導向的程式設計過程中兩個重要的概念 ,類和物件
其中類是一批物件的抽象可以把類理解成某種概念;物件纔是一個具體實現的實體,從這個意義上來看
日常所見的人,其實都是人的範例,而不是人類
類和物件是物件導向的核心
static是一個特殊的關鍵字他可用於修飾方法、成員變數等成員,static是靜態方法 靜態成員不能直接存取非晶態成員。
static的真正作用是用於區分成員變數,方法內部類,初始化塊成員,有static修飾的成員屬於類本身,沒有static修飾的成員屬於該類的範例

下面 下麪程式定義一個類Person

 

  • 物件產生和使用

建立物件的根本途徑是構造器,通過new關鍵字來呼叫某個類的構造器即可建立初長成

public class PersonTest {
    public static void main(String[] args) {
        //使用peron類定義一個person型別的變數
        Person p;
        //通過new關鍵字呼叫person類的構造器,返回一個person範例
        //將該person範例賦給p變數
        p  = new Person();
        //上面的程式碼 也可以簡寫成如下程式碼形式;
       // Person p = new Person();
        //建立物件之後,接下來即可以使用物件了,Java的物件大致有如下作用;
        //1.存取物件的範例變數。2.呼叫物件的方法。如果存取許可權允許,
        // 類裡定義的方法和成員變數都可以通過 類或範例來呼叫
        //存取p的name實體變數,直接爲該變數賦值
        p.name = "李剛";
        //呼叫p的say()方法,宣告say()方法時定義了一個形參,
        //呼叫該方法必須爲形參指定一個值
        p.say("java語言很簡單,學習很容易!");
        //直接輸出p的name範例變數,將輸出李剛
        System.out.println(p.name);
        //大部分的時候,定義一個類就是爲了重複建立該類的範例,
        //類不是一種具體存在的範例纔是具體存在的


    
    }
}
5.13
物件參照和指針
5.14物件的this參照
this關鍵詞總是指向該方法的物件。兩種情形
 1.構造器中參照該構造器正在初始化的物件
 2.在方法中參照呼叫該方法的物件。
this關鍵字最大的作用就是讓類中一個方法,存取該類裡的另一個方法或範例變數。
public class Dog {
  
    //定義一個jump方法
    public void jump(){
        System.out.println("正在執行jump()方法");
    }
    //定義一個run()方法需要藉助jump()方法
    public void run(){
        Dog d = new Dog();
        d.jump();
        System.out.println("正在執行run方法");
    }

    public static void main(String[] args) {
        //建立Dog物件
        Dog dog = new Dog();
        //呼叫Dog物件run()方法
        dog.run();
    }
}
使用this代表該構造器正在初始化的物件

當this作爲物件預設參照使用時,程式可以像存取普通參照變數一樣來存取這個this參照,甚至把this當做返回值 看下面 下麪程式