Java中通过将数据声明为私有的(private),再提供公共的(public)方法:获取getXxx()和设置setXxx()实现对该属性的操作,以实现下述目的:
①隐藏一个类中不需要对外提供的实现细节。
②使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作。
③便于修改,增强代码的可维护性。
class Animal {private int legs;// 将属性legs定义为private,只能被Animal类内部访问public void setLegs(int i) { // 在这里定义方法 eat() 和 move()if (i != 0 && i != 2 && i != 4) {System.out.println("Wrong number of legs!");return;}legs = i;}public int getLegs() {return legs;}
}public class Zoo {public static void main(String args[]) {Animal xb = new Animal();xb.setLegs(4); // xb.setLegs(-1000);//xb.legs = -1000; // 非法System.out.println(xb.getLegs());}
}
四种访问权限修饰符
Java权限修饰符public、protected、(缺省)、private置于类的成员定义前,用来限定对象对该类成员的访问权限。
对于class的权限修饰只可以用public和default(缺省)。
public类可以在任意地方被访问。
default类只可以被同一个包内部的类访问。