java面对对象-封装
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());
}
}


浙公网安备 33010602011771号