类的封装其实就是封装其属性和方法,然后通过get、set方法去访问类内部。
封装属性:private 属性类型 属性名
封装方法:private 方法返回类型 方法名称(参数)
举例:
未封装时,可以通过对象直接去调用属性或方法
class Person {
String name;
int age;
public void talk() {
System.out.println("我是:" + name + ",今年:" + age + "岁");
}
}
public class TestPerson {
public static void main(String[] args) {
// 声明并实例化一Person对象p
Person p = new Person();
p.name = "23123";
p.age = -22;
p.talk();
}
}
无法控制属性值的合法性
封装后,因为属性类型限制只能通过get、set方法访问属性或方法
public class Person {
private String name;
private int age;
public void talk() {
System.out.println("我是:" + name + ",今年:" + age + "岁");
}
public void setName(String str) {
name = str;
}
public void setAge(int a) {
if (a > 0)
age = a;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
class TestPerson {
public static void main(String[] args) {
// 声明并实例化一Person对象p
Person p = new Person();
// 给p中的属性赋值
p.setName("张三");
// 在这里将p对象中的年龄赋值为-25岁
p.setAge(-25);
// 调用Person类中的talk()方法
p.talk();
}
}