class Person{
String name;
int age;
public void getPersonInfo(){
System.out.println("姓名:"+name+",年龄:"+age);
}
}
public class Test{
public static void main(String[] args) {
Person person = new Person();
person.name = "张三" ;
person.age = -200 ;
person.getPersonInfo();
}
}
此时年龄可以随意赋值,要想避免这种问题,必须使对象不能直接操作属性值,使用private封装
private String name;
private int age;
使用private对属性进行封装后,要想访问私有属性必须提供两种方法:
setter方法:用于属性内容的设置与修改
getter方法:用于属性内容的获取
class Person{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void getInfo(){
System.out.println("姓名:"+name+",年龄:"+age);
}
}
public class Test{
public static void main(String[] args) {
Person per = new Person();
per.setName("张三");
per.setAge(23);
per.getInfo();
}
}
由此可以看出,private实现封装最大的特征就是:只允许本类访问,外部类不能访问