java物件導向

2023-05-02 12:05:32

物件導向介紹

  1. 學習獲取已有的物件並使用
  2. 學習如何自己設計物件並使用—>物件導向語法

學習步驟:

  1. 設計物件並使用
  2. 封裝
  3. this關鍵字
  4. 構造方法
  5. 標準JavaBean
  6. 物件物件記憶體圖
  7. 補充知識:成員變數、區域性變數區別

設計物件並使用

類和物件:

  1. 類(設計圖):是物件共同特徵的描述

  2. 物件:是真實存在的具體東西

在Java中,必須先設計類才能獲得物件

如何定義類:

Public class 類名 {

1、成員變數(代表屬性,一般是名詞)

2、成員方法(代表行為,一般是動詞)

3、構造器(後面學習)

4、程式碼塊(後面學習)

5、內部類(後面學習)

}

如何得到類的物件:

類名 物件名 = new 類名()

eg:Phone p = new Phone();

如何使用物件:

  1. 存取屬性:物件名.(點)成員變數

  2. 存取行為:物件名.(點)方法名(...)

eg:

package com.itheima.Class;

public class Phone01 {
    String brand;
    double price;
    public void call(){
        System.out.println("手機在打電話");
    }
    public  void playGame(){
        System.out.println("手機在打遊戲");
    }
}

例子:

package com.itheima.Class;

public class Phone01Test01 {
    public static void main(String[] args) {
        Phone01 p = new Phone01();//建立手機的物件
        p.brand = "小米";//分別賦值
        p.price = 1999;
        //獲取手機物件中的值
        System.out.println(p.brand);
        System.out.println(p.price);
        //呼叫手機中的方法
        p.call();
        p.playGame();
        Phone01 p2 = new Phone01();
        p2.brand = "蘋果";
        p2.price = 8999;
        System.out.println(p2.brand);
        System.out.println(p2.price);
        p2.call();
        p2.playGame();
    }
}

執行結果:

小米
1999.0
手機在打電話
手機在打遊戲
蘋果
8999.0
手機在打電話
手機在打遊戲

1、類和物件是什麼:

類:是共同特徵的描述(設計圖)

物件:是真實存在的具體範例

2、如何得到物件:

Public class 類名 {

1、成員變數(代表屬性,一般是名詞)

2、成員方法(代表行為,一般是動詞動詞)

類名 物件名 = new 類名()

3、拿到物件後能做什麼?

物件.(點)成員變數;

物件.(點)成員方法(....)

定義類的補充注意事項:

  1. 用來描述一類事物的類,專業叫做: Javabean類

    在JavaBean類中是不寫main方法的

  2. 在以前編寫main方法的類叫做測試類:

    我們可以在測試類中建立Javabean類的物件並進行賦值呼叫

    Public class 類名 {

    1、成員變數(代表屬性)

    2、成員方法(代表行為)

    eg:

      Public  Class Student{
      //屬性(成員變數)
        String name;
       //行為(方法)
        Public void Study(){
        
        }
        Public  void sleep(){
        
        }
      }
    

    注意:

    1. 類名首字母建議大寫,需要見名知意,駝峰模式。

    2. 一個Java檔案中可以定義多個class,類前只能一個類是public修飾,而且public修飾的類名必須成為程式碼檔案名

      實際開發中建議還是一個檔案定義一個class類

    3. 成員變數的完整定義格式是:修飾符 資料型別 變數名稱 = 初始化值;一般無需指定初始化值,存在預設值

練習:

package com.itheima.Class;
//物件導向小練習:
public class Girlfriend {
    //屬性
    String name;
    int high;
    String gender;
    int age;
    //行為
    public void eat(){
        System.out.println("她會吃飯");
    }
    public void play(){
        System.out.println("她會幹活");
    }
}
package com.itheima.Class;

public class GirlfriendTest {
    public static void main(String[] args) {
        Girlfriend p1 = new Girlfriend();//建立一個物件
        p1.name = "筱筱";
        p1.high = 170;
        p1.gender = "女";
        p1.age = 18;
        System.out.println(p1.name);
        System.out.println(p1.high);
        System.out.println(p1.age);
        p1.eat();
        p1.play();
        Girlfriend p2 = new Girlfriend();//建立第二個物件
        p2.name = "詩詩";
        p2.high = 168;
        p2.gender = "女";
        p2.age = 18;
        System.out.println(p2.name);
        System.out.println(p2.high);
        System.out.println(p2.age);
        p2.eat();
        p2.play();
    }
}

執行結果:

筱筱
170
18
她會吃飯
她會幹活
詩詩
168
18
她會吃飯
她會幹活

注意:

定義類有哪些建議,有什麼需要注意的?

  1. 類名首字母建議大寫,英文、有意義,滿足駝峰模式,不能用關鍵字滿足標誌符規定

  2. 一個程式碼檔案中可以定義多個類,但是隻能定義一個類是public修飾的, Public修飾的類名必須是Java程式碼的檔名稱

成員變數的格式是什麼樣的,有什麼特點?

  1. 成員變數的完整定義格式是:修飾符 資料型別 變數名稱 = 初始化值

  2. 一般無需指定初始化值