//下面代碼實現設置和獲取學生姓名和成績。 2 class lesson5homework 3 { 4 public static void main(String[] args) 5 { 6 TestCode TC=new TestCode(); 7 TC.StudentTest();//調用測試類 8 } 9 } 10 class Student 11 //設置,獲取student值及分別表明name和score值是否正確的Boolean類型的rn和rs 12 { 13 private String name; 14 private int score; 15 private boolean rn; 16 private boolean rs; 17 //私有的值,用setter和getter方法提供外界訪問 18 /* 19 格式為: 20 getter(用於獲取): 21 [非私有修飾符] 字段類型 get字段名稱(首字母大寫)() 22 { 23 return 字段名; 24 } 25 setter(用於設置): 26 [非私有修飾符] void set字段名稱(首字母大寫)(字段類型 變量) 27 { 28 字段=變量; 29 } 30 31 例外:Boolean類型的是setter方法和is方法。 32 setter格式與上述相同,is方法只需把set編程is即可,下面是例子。 33 */ 34 35 public void setName(String n)//name的setter和getter方法 36 { 37 if(n!="") 38 { 39 name=n; 40 setRn(true); 41 } 42 else 43 { 44 System.out.println("ERROR! name IS ERROR!"); 45 setRn(false); 46 } 47 } 48 public String getName() 49 { 50 return name; 51 } 52 53 public void setScore(int s)//score的setter和getter方法 54 { 55 if(s>=0&&s<=100) 56 { 57 score=s; 58 setRs(true); 59 } 60 else 61 { 62 System.out.println("ERROR! score IS ERROR!"); 63 setRs(false); 64 } 65 } 66 public int getScore() 67 { 68 return score; 69 } 70 71 public void setRn(boolean xn)//Boolean的setter方法與is方法 72 { 73 rn=xn; 74 } 75 public boolean isRn() 76 { 77 return rn; 78 } 79 80 public void setRs(boolean xs) 81 { 82 rs=xs; 83 } 84 public boolean isRs() 85 { 86 return rs; 87 } 88 } 89 class TestCode 90 { 91 public void StudentTest()//測試 92 { 93 System.out.println("TEST CODE OF STUDENT:"); 94 printStudent("jack",100); 95 printStudent("jack",101); 96 printStudent("jack",-1); 97 printStudent("",100); 98 } 99 private void printStudent(String name,int score) 100 { 101 Student s=new Student(); 102 s.setName(name); 103 s.setScore(score);//先設置值 104 if((s.isRn())&&(s.isRs()))//如果正確則輸出 105 System.out.println("Name:"+s.getName()+",Score:"+s.getScore()); 106 107 } 108 }