Chapter9 Java面向對象

Lecture1 初始面向對象

  • 面向對象:關注現實存在的事物的各方面信息,從對象的角度出發,根據事物的特徵進行程序設計
  • 類:類是模子,是一個抽象的概念,肯定對象將會擁有的特徵(屬性)和行爲(方法),是具備相同屬性和方法的一組對象的集合
  • 對象:對象是類的實例化表現,是一個用來描述客觀事物的實體
  • 類是對象的類型,對象是特定類型的數據
  • 屬性和方法:屬性--對象具備的各類靜態特徵;方法--對象具備的各類動態行爲
  • 包的推薦命名規則:java

    • 均使用小寫英文字母
    • 採用域名的倒序

Tips:類中的成員屬性默認有初始值測試

  • 成員屬性的默認值
基本類型 默認值
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0
char 'u0000'
boolean false
引用類型 null
  • 單一職責原則:又叫單一功能原則;一個類應該有且只有一個引發功能變化的緣由;若是一個類所承載的功能越多,它的交融耦合性就越高,可複用性就越低
  • 實例化對象的過程能夠分紅兩個部分:this

    1. 聲明對象(發生在棧空間,在棧中開闢空間,儲存的是實例化對象的堆空間的內存地址)
    2. 實例化對象(發生在堆空間,完成對象的初始化操做)

Lecture2 構造方法介紹

  • 構造方法:又稱爲構造方法,構造器
  • 構造方法結構:設計

    1. 構造方法名與類名相同且沒有返回值
    2. 構造方法的語法格式:
    public 構造方法名(參數列表){
      初始代碼塊;
    }
    1. 構造方法只能在對象實例化的過程當中調用
    2. 當沒有指定構造方法時,系統會自動添加無參的構造方法
    3. 當存在指定的構造方法時,不管是有參仍是無參的構造方法,系統都不會再自動添加無參的構造方法
    4. 一個類中能夠有多個構造方法
  • 就近原則:優先尋找同一個做用範圍內的同名元素
  • this關鍵字:表明當前對象的默認引用
  • this關鍵字的使用:code

    1. 調用成員屬性,解決成員屬性和局部變量的同名衝突
    2. 調用同一個類中的其餘成員方法
    3. 調用重載的構造方法,構造方法在類內不能直接被普通成員方法調用,但能夠使用this(參數列表);調用構造方法,this(參數列表);必須放在方法體內的第一行

vio對象

  • chapter9 面向對象案例:
package Chapter9.Lecture1.cat;

/**
 * 寵物貓類
 */
public class Cat {
    //成員屬性:暱稱、年齡、體重、品種
    String name;    //暱稱,String類型默認值爲null
    int month;  //年齡,int類型默認值爲0
    double weight;  //體重,double類型默認值爲0.0
    String species; //品種

    //無參構造方法
    public Cat() {
        System.out.println("我是無參構造方法");
    }

    //帶參構造方法
    public Cat(String name, int month, double weight, String species) {
        this.name = name;
        this.month = month;
        this.weight = weight;
        this.species = species;
    }

    //成員行爲:跑動、吃東西
    //跑動的方法
    public void run() {
        System.out.println("小貓快跑");
    }

    public void run(String name) {
        System.out.println(name + "快跑");
    }

    //吃東西的方法
    public void eat() {
        System.out.println("小貓吃魚");
    }
}
package Chapter9.Lecture1.cat;

public class CatTest {
    public static void main(String[] args) {
        //對象實例化
        Cat one = new Cat();
        //測試
        one.eat();
        one.run();
        System.out.println("==================");
        one.name = "花花";
        one.month = 2;
        one.weight = 1000;
        one.species = "英國短毛貓";
        System.out.println("暱稱:" + one.name);
        System.out.println("年齡:" + one.month);
        System.out.println("體重:" + one.weight);
        System.out.println("品種:" + one.species);
        System.out.println("==================");
        one.run(one.name);
    }
}
相關文章
相關標籤/搜索