要求:
当用户信息不想随意被访问时,private属性私有化 对需要访问的属性,提供一对get/set方法
Person类:
为年龄设置限制,当小于0或者大于120时,age赋值为18,否则正常赋值
public class Person { //当用户信息不想随意被访问时,private属性私有化 //对需要访问的属性,提供一对set/get方法 private String name; private int age; private double weight; private String sex; //成员方法 public void sleep(){ System.out.println("休息"); } public void eat(){ System.out.println("吃饭"); } //右键generate,构建get/set方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { //为年龄设置限制,当小于0或者大于120时,age赋值为18,否则正常赋值 if(a<0||a>120){ age = 18; }else{ this.age = age; } } public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
测试类Test01
public class Test01 { public static void main(String[] args) { //创建对象 Person p = new Person(); //给成员变量赋值 p.setName("钻石王老五"); p.setAge(18); p.setWeight(100); p.setSex("不详"); //通过对象访问类中的属性 System.out.println("姓名:"+p.getName()+"\t" +"年龄:"+p.getAge() +"岁"+"\t" +"体重:" +p.getWeight()+"斤" +"\t" +"性别:"+p.getSex()); //通过调用成员方法 p.eat(); p.sleep(); } }
运行结果:
总结:
为什么要用方法?因为人包括很多,如学生、老师、工人,他们有相同的属性,每个人都有姓名、年龄、性别。如果每次都要String name = "xxx" ,重复的代码会有很多,所以把相同的部分抽取出来,下次赋值时,直接调用就可以了。
当用户的个人信息不想被随意访问时,可以用private修饰,与之前不用private修饰的属性区别为,要设置get/set方法。通俗理解就是,女生的年龄是不能随便问的,对吧? 所以属性有时需要私有化。