private关键字主要是解决变量的使用范围限制问题
private是一个权限修饰符,可以修饰成员变量和成员方法;而被private修饰的成员只能在本类中才能访问。
那么问题来了:既然用private修饰的成员只能在类里面使用,那么这样定义的类还有什么意义呢?所以在private定义之后,一般会在类中加上set()方法与get()方法,这样定义的变量可以在别的类中使用,只不过要满足set()中设定的条件。下面举一个例子:
比如现在你想要买一个乐高(其实是作者本人想要买一个),你想让你妈帮你买一个(假定你还是个初中生没有零花钱)。你妈肯定会对你想买的乐高价格要求有限制(必须小于300块),所以她自己编写了一个程序去选择买的乐高(好怪)。其中一部分代码如下:
public class Lego(){
private int price;
//set 赋值
public void setprice(int money){
if(money<300) price=money;
else System.out.println("你想得美!");
}
//get 获取
public int getprice(){
return price;
}
}
你妈把Lego类的代码隐藏了起来,向你展示了main方法的部分代码。而在main方法中,也有几行相关代码:
Lego lg=new Lego();
int m=299;
lg.setprice(m);
这样,一旦你给m赋值的大小超过300,那么系统就会自动提升:“你想得美!”,这样你企图修改代码买更贵的乐高的企图就破灭了。