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 }