今天开始学java(九):private关键字的作用与this关键字的作用

如果你在定义一个变量的时候前面加入了private关键字,那么这个关键字在本类中可以随意访问,但是,超出了本类范围之外就不可以直接访问了。
可以使用get/set方法间接访问:
get/set方法格式为get/set+变量名(变量名首字母需要大写)
举一个例子,这个例子是将age变量前加入private关键字,然后在第二个类当中使用name与age方法:

public class Person {
    String name;
    private int age;
    public void show(){
        System.out.println("我叫"+name+"今年"+age);
    }
//    专门用于向age设置数据↓↓set必须有参数无返回,参数类型必须和set的对象一直名称规则为set首字母大写
    public void setAge(int num){
        if (num<100 && num>=0){
            age = num;
        }else{
            System.out.println("年龄不合理");
        }
    }
//    这个成员方法,专门用于获取age的数据↓↓get什么必须没有参数有返回值,返回值类型需要和成员变量对应,名称必须交get+首字母大写
    public int getAge(){
        return age;
    }
}

第二个类的直接访问与间接访问:

public class Demo01person {
    public static void main(String[] args) {
        Person person = new Person();
        person.show();
        person.name = "yibole";
        person.setAge(20);//这就是间接访问
        person.show();
    }
}

间接访问private成员变量,就是定义一对Getter/Setter方法
对于基本类型当中的boolean值,Getter方法一定要写成isXxx的形式,而setXxx类型不变

private boolean male;//是不是男的
    public void setMale(boolean b){
        male = b;
    }
    public boolean isMale(){
        return male;
    }

this关键字的作用

当方法的局部变量和类的成员变量重名的时候,根据“就近原则,优先使用局部变量,
如果需要访问本类当中的成员变量(局部变量),需要使用格式:
this.成员变量名
通过谁调用的方法,谁就是this,this一定是写在方法中的

public class Person {
    String name;
    public void sayHello(String name){
        System.out.println(name+",你好,我是"+this.name);
    }
}

这时候调用person.name并赋值“hanwenwen”和调用person.sayhello并赋值"yibole"就会出现hanwenwen,你好,我是yibole

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章