//类EnapTest
public class EnapTest {
public static void main(String[] args) {
person p = new person();
// p.salary = 70;//访问private的变量会提示错误,需要用set
p.setSalary(6789.909);
p.name = "张飞";
// p.age = 17;//和salary一样,需要用set
p.setAge(18);
System.out.println(p.info());
System.out.println("=============================");
person m = new person(900,"李四",9700);
System.out.println(m.info());
}
}
//类person
class person {
private int age;
public String name;
private double salary;
public person(int age, String name, double salary) {
//通过构造器给对象初始化的时候可能会跳过验证
// this.age = age;
// this.name = name;
// this.salary = salary;
//也用set可以不跳过验证
this.setAge(900);
this.setSalary(9870);
this.setName("李四");
}
public person() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age>=1&&age<=120) {
this.age = age;
}else {
System.out.println("输出年龄不符合范围,默认值为18");
this.age=18;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String info() {
return "age=" + age + "name=" + name + "salary=" + salary;
}
输出结果:
age=18name=张飞salary=6789.909
=============================
输出年龄不符合范围,默认值为18
age=18name=李四salary=9870.0
get和set还有构造方法的快捷键是Alt+insert