day05

先瞄准再开枪發表於2024-10-18

物件導向

封裝

 private關鍵字:
        可以修飾成員變數,成員方法,構造方法
        在同一個類中,private關鍵字不起作用,相當於透明的,同一個類中被private關鍵字修飾的成員可以隨意訪問


    說到現在,其實說的就是物件導向程式設計三大特徵之一:封裝
    封裝: 使用private關鍵字將類中細節進行隱藏,只對外提供公共的訪問方式。

如何建立物件及使用物件中的成員變數和成員方法

public class Student {
    //成員變數,定義在類中方法外
    String name;
    int age;
    String gender;

    //成員方法
    public void eat() {
        System.out.println("吃飯");
    }

    public void sleep() {
        System.out.println("睡覺");
    }
}

class Demo1 {
    public static void main(String[] args) {
        //建立一個學生物件
        //如何透過一個類建立一個物件
        // 語法格式:類名 物件名 = new 類名();
        Student s1 = new Student();
        //獲取物件中的成員變數
        //物件名.成員變數名
        String n1 = s1.name;
        System.out.println("姓名:" + n1);
        s1.name = "江川";
        System.out.println("姓名:" + s1.name);

        //如何使用物件中的成員方法
//        eat();
        //物件名.成員方法名()
        s1.eat();
        s1.sleep();
    }
}

匿名物件

//定義一個教師類
class Teacher {
    public void fun2(){
        System.out.println("好好學習,天天向上!");
    }
}

class Demo2{
    //當你今後看到一個類作為方法的引數的時候,將來呼叫時需要傳入該類的物件【或者該類的子類物件】
    public void method(Teacher t){ //Teacher t = new Teacher()
        t.fun2();
    }
}

public class TeacherDemo1 {
    public static void main(String[] args) {
        Demo2 d1 = new Demo2();
//        Teacher t1 = new Teacher();
        d1.method(new Teacher()); // new Teacher()

        //匿名物件,指的是沒有名字的物件,只能用一次,後續無法繼續使用該物件
//        d1.method(new Teacher());
    }
}