set和get方法的作用:
1、灵活性(比如student类有属性name,设置名字后希望不仅显示名字,还按照需求显示如我的名字是:XX,通过set和get就能自定义实现等)
2、安全性(比如实现读写权限的控制可以使用private定义属性,再定义一个get方法,但是不定义set方法来实现,表示该属性是只读不写的。反之,只定义set,不定义get则表示该属性是只写不能读的)
eg:
1 package day09; 2 3 public class Students { 4 5 private String name; 6 7 public String getName() { 8 return "我的名字是:"+name; 9 } 10 11 public void setName(String name) { 12 this.name = name; 13 } 14 }
eg:
1 package day09; 2 3 public class Student1 { 4 5 private String name; 6 private int age; 7 8 public String getName() { 9 return name; 10 } 11 12 public void setAge(int age) { 13 this.age = age; 14 } 15 }
eg:
1 package day09; 2 3 public class TestStudent03 { 4 5 public static void main(String[] args) { 6 //1、无参数构造方法创建对象,通过setXxx方法给成员变量进行赋值 7 Student stu1 = new Student(); 8 stu1.setAge(20); 9 stu1.setName("eris"); 10 stu1.show(); 11 //2、通过带参数构造方法,直接给属性进行赋值 12 Student stu2 = new Student("cc",8); 13 stu2.show(); 14 } 15 }
执行结果:
设置get和set方法具体步骤:
第一步,按住alt + enter键,为变量生成get和set方法
第二步,分别选择为age和name生成getter和setter方法,结果如下:
1 package day09; 2 3 public class Demo { 4 5 private String name; 6 private int age; 7 8 public int getAge() { 9 return age; 10 } 11 12 public void setAge(int age) { 13 this.age = age; 14 } 15 16 public String getName() { 17 return name; 18 } 19 20 public void setName(String name) { 21 this.name = name; 22 } 23 }