1. 程式人生 > >Java面向物件程式設計-類與物件概念

Java面向物件程式設計-類與物件概念

1.面向物件三大特徵:

    a.封裝性:將客觀事物封裝成抽象的類,每個類都有自己的屬性與方法,並且類可以讓自己的資料與方法只讓可信的類或物件操作,對不可信的進行資訊影藏。

        內部操作對外部而言不可信(保護性)

    b.繼承性:可以使用現有類的所有功能,並且在無需重新編寫原有類程式碼的情況下進行功能上的擴充套件。(可重用)

    c.多型性:(重點)指的是一個類例項的相同方法在不同情形下有不同的表現形式。

2.Java中類與物件的定義與使用

    類是共性的概念,而物件是一個具體的、可以使用的事物。

    類是生產物件的藍圖,先有類才可以產生物件。物件的所有屬性和行為,一定在類中進行的完整定義。

    class 類名稱 {

    屬性1;

    屬性2;

    ...

    方法1(){ }

    方法2(){ }

    ...

    }

    類中的屬性與方法(不帶static關鍵字的)只能通過物件呼叫

    編譯和執行都是主類,主類用到的其他類javac編譯器會自動編譯

    物件的產生語法

    類名稱 物件名稱 = new 類名稱();

class Person{
    public String name;   //屬性
    public int age;       //屬性
    public void eat(){    //方法
        System.out.println(name+"吃飯");
    }
    public void sleep(){  //方法
        System.out.println(name+"睡覺");
    }
    public void work(){   //方法
        if(age<20){
            System.out.println(name+"老老實實讀書");
        }
        else{
            System.out.println(name+"老老實實搬磚");
        }
    }
}
public class test{
    public static void main(String[] args){
        //根據Person類生產一個物件
        Person per1 = new Person();
        per1.name = "guo";
        per1.age = 18;
        Person per2 = new Person();
        per2.name = "ssh";
        per2.age = 40;
        per1.eat();
        per1.sleep();
        per1.work();
        per2.eat();
        per2.sleep();
        per2.work();
    }
}

    new:表示在堆上新分配空間