1. 程式人生 > >成員變數成員方法的呼叫以及get,set方法的使用

成員變數成員方法的呼叫以及get,set方法的使用

package dmeo1;

public class student {
    //    定義一個學生事物,其中就有兩個組成部分
    /*
     * 屬性(成員變數):姓名年齡
     * 行為(成員方法):吃飯睡覺學習
     * 成員變數:
     * String name;
     * int age;
     * 成員方法:
     * public void eat(){jutixingwei}
     * public void sleep(){jutixingwei}
     * public void study(){jutixingwei}
     *
     * 注意事項:
     * 成員變數直接定義在類當中,在方法外:
     * 成員變數不要寫static關鍵字
     *
     * 不需要main方法不需要執行
     * */

    String name;
    private int age;

    /*我們在定義時使用int,無法阻止不合理的數值設定進來
    解決方案:就需要使用private將需要保護的成員變數驚醒修飾
    一旦使用private進行修飾那麼本類依然可以隨意訪問但是超出本類之外就不能直接訪問了(set get方法)

    間接訪問private成員變數就是定義一對getter setter方法

    命名規則:getXxx和setXxx
    對於setter方法,有引數無返回值
    對於個getter方法,有返回值無引數
    * */
    public void show() {
        System.err.println("我叫" + name + "," + "今年" + age);
    }

    //    這個成員方法專門用於age設定資料  有引數無返回
    public void setAge(int num) {
        if(num<100&&num>=0){
        age = num;}
        else{
            System.out.println("資料不合理!");
        }
    }

    //    這個成員方法專門用於獲取age的資料  無引數有返回
    public int getAge() {
        return age;
    }


    public void eat() {
        System.out.println("j utixi ngwe i");
    }

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

    public void study() {
        System.out.println("jutixingwei");
    }
}

package dmeo1;

/*通常情況下一個類並不能直接使用,需要根據類建立一個物件,才能使用
1.導包 指出需要使用的類的位置 import 包名.類名(對於和當前類在同一個包的情況下,可以省略導包)
2.建立  類名稱 物件名  =  new 類名稱();
student stu = new student();
3.使用  分為兩種情況
使用成員變數: 物件名.成員變數名
使用成員方法: 物件名.成員方法名(引數)
* */
public class student使用類 {
    public static void main(String[] args) {
//        建立物件
        student stu = new student();
        System.out.println(stu.getAge());//0
        System.out.println(stu.name);//null
//    改變物件當中的成員變數值內容
        stu.name = "王明旭";
        stu.setAge(22) ;
        System.out.println(stu.getAge());
        System.out.println(stu.name);
//        使用成員方法
        stu.eat();
        student stu2 = new student();
//        stu.age = 18 ;直接訪問private內容 錯誤
        stu.setAge(20);
        stu.name = "wangmingxu";
        System.out.println(stu.getAge());
        System.out.println(stu.name);
        System.out.println("========");

        stu.show();

    }
}