·封装介绍
封装(encapsulation)就是把抽象出的数据[属性]和对数据的操作[方法]封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作[方法],才能对数据进行操作。
package HspLearningoop;
public class Encapsulation01 {
public static void main(String[] args) {
People people = new People();
people.setName("jack");
people.setAge(21);
people.setSalary(23000);
System.out.println(people.info());
}
// 那么在java中如何实现这种类似的控制呢?
// Encapsulation01.java
// 不能随便查看人的年龄,工资等隐私,并对设置的年龄进行合理的验证。年龄合理就设置,否则给默认年龄,必须在1-120,年龄,工资不能直接查看,name的长度在2-6字符之间
}
class People {
public String name;
private int age;
private double salary;
//快捷键
//根据自己的要求来完善代码
public String getName() {
return name;
}
public void setName(String name) {
if (name.length() >= 2 && name.length() <= 6) {
this.name = name;
} else {
System.out.println("输出的名字长度应该在2~6个字节");
this.name = "tomy";
}
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age >= 1 && age <= 120) {
this.age = age;
} else {
System.out.println("年龄需要在1~120");
this.age = 18;
}
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
//再写一个方法把内容输出
public String info() {
return "信息为:name " + name + " age" + age + " salary" + salary;
}
}
网友评论