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类只可以被同一个包内部的类访问。