第一步
第二步
提供公共的(public)方法(比如set方法,用于对属性判断并赋值)
public void setXxx(类型 参数名){ //加入数据验证的业务逻辑 属性 = 参数名; }
第三步
提供一个公共的get方法,用于获取属性值
public 数据类型 getXxx(){//权限判断 return XX; }
代码演示
public class Test {
public static void main(String[] args) {
Person person = new Person();
person.name = "wty";
//私有无权限
//person.age = 19;
//person.salary = 100000;
person.setName("wtywtyw");
person.setAge(19);
person.setSalary(100000);
System.out.println(person.info());
System.out.println("======wty======");
//如果我们使用构造器指定属性
Person wty = new Person("wty", 2000, 100000);
System.out.println(wty.info());
}
}
class Person{
public String name;//名字公开
private int age;//年龄私有
private double salary;
//构造器
public Person() {
}
//有三个属性的构造器
public Person(String name, int age, double salary) {
// this.name = name;
// this.age = age;
// this.salary = salary;
//我们可以将set方法写在构造器中,任然可以验证
setName(name);
setAge(age);
setSalary(salary);
}
//使用快捷键 Alt + Insert
//可以根据需求进行具体的限制
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 = "无名";
}
}
public int getAge() {
return age;
}
public void setAge(int age) {
//判断
if(age >= 1 && age <= 120){//合理范围
this.age = age;
}else{
System.out.println("你设置的年龄有误,需要在(1-120)之间,给你默认年龄18");
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;
}
}