1.访问控制符
Java的访问控制符:private、protected、public,还有一个不加任何访问控制符的访问控制级别。
四个控制级别由小到大:private、default、protected、public
private:当前类访问权限
default:包访问权限,可以被相同包下的其他类访问
protected:子类访问权限,既可以被同一个包中的其他类访问,也可以被不同包中的子类访问
public:公共访问权限
对于局部变量而言,其作用于就是它所在的方法,不能被其他类访问,所以不能使用访问控制符修饰。
2.封装:将对象的状态信息对外部隐藏起来,不允许外部直接访问,而是由该类提供方法来实现对信息的访问。
良好的封装应该是,对象的Field和实现细节隐藏起来,外界无法直接访问,提供方法来对Field进行访问和操作。
如果一个Java类的每个Field都被使用private修饰,并为每个Field都提供了public修饰的setter和getter方法,那么这个类就是一个符合JavaBean规范的类。JavaBean是一个封装良好的类。
eg:
package cn.it.lsl; public class Person { private String name; private int age; public void setName(String name){ if(name.length()>6 || name.length()<2){ System.out.println("您设置的人名不符合要求"); return; }else{ this.name = name; } } public String getName(){ return this.name; } public void setAge(int age){ if(age>100 || age<0){ System.out.println("您设置的年龄不符合要求"); return; }else{ this.age = age; } } public int getAge(){ return this.age; } }
package cn.it.lsl; public class PersonTest { public static void main(String[] args) { Person p = new Person(); //p.age = 50; //错误。不能直接访问 p.setAge(1000); System.out.println(p.getAge()); //未能正确设置年龄 p.setAge(25); System.out.println(p.getAge()); } }