对于private我们先来进行一个总结
1.private关键字是一个权限修饰符。
2.可以修饰成员(成员变量和成员方法)。
3.被private修饰的成员只能在本类中才能访问。
4.针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作。
5.提供“set~~(参数)”(方法),用于给成员变量赋值,方法用public修饰。
6.提供“get~~(参数)”(方法),用于获取成员变量赋值,方法用public修饰。
package mmm.jsu.oop;
public class GirlFriend {
private String name;
private String gender;
private int age;
//针对每一个成员变量都要提供get和set方法
//set方法就是给成员变量赋值
//get方法就是对外提供成员变量的值
public void setName(String n) {
name = n;
}
public String getName(){
return name;
}
public void setGender(String g){
gender = g;
}
public String getGender(){
return gender;
}
public void setAge(int a){
if(a >= 18 && a<=50){
age = a;
}else {
System.out.println("这个是错误的数据");
}
}
public int getAge(){
return age;
}
}
这个是我们写的一个javabeen,在这里面我们定义了年龄,性别和名字。其中我们对age进行了要求要求是18到50岁。所以我们在setAge里面写了一个限定条件,在这里我们使用了封装。我们在这个代码中把属性全部private化了,这个也就代表其只能在本类中调用,这样虽然增加了代码的安全性,但是只是这样也大大的让代码的复用性降低。我们于是就用public来修饰了set和get方法。
package mmm.jsu.oop;
public class Test02 {
public static void main(String[] args) {
GirlFriend gf1 = new GirlFriend();
gf1.setAge(-18);
gf1.setName("小小怪");
gf1.setGender("female");
int age01 = gf1.getAge();
String name01 = gf1.getName();
String gender01 = gf1.getGender();
System.out.println(age01);
System.out.println(name01);
System.out.println(gender01);
}
}
这里我们必须用变量名.方法名才能调用,因为这里我们的方法是public的,而我们的变量是private的。