一.private关键字
1.是一个权限修饰符
2.可以修饰成员(成员变量和成员方法)
3.被private修饰的成员只能在本类中才能访问
错误写法:
public class Students{
private String name;
private int age;
private String gender;
}
//一旦被private修饰,就表示当前的成员变量私有了,简单理解就只能在Students这个类里面使用,其他类就不能用了
public class Test{
Students stu1=new Students();
stu1.age=18;
}
//这样就不能直接调用了
正确写法:
public class Students{
private int age;
//set(赋值)
public void setAge(int a){
if(a>0){
age=a;}
else{
System.out.println("错误数据");
}
}
//get(获取)
public int getAge(){
return age;
}
public static void main(String[] args){
Students stu1=new Students();
stu1.setAge(18);
}
}
//针对于每一个私有化的成员变量,都需要get和set方法
//set方法:给成员变量赋值,方法用public修饰
//get方法:对外提供成员变量的值,方法用public修饰
二.this 关键字
public class Student{
private int age;//成员变量
public void method(){
int age =10;//局部变量
System.out.println(age);
}
}
如果程序中成员变量和局部变量重名时,那么输出变量时输出的是哪一个值呢?
那么这里会涉及一个为就近原则(谁离我近,我就用谁)的理论
上面代码因为局部变量离得更近所以输出的是局部变量的值(10).
如果想要使用成员变量的值,那么我们就需要引用this关键字(将age改为this.age)来实现