上一篇:Unsafe工具類 | 帶你學《Java語言高級特性》之八十八
【本節目標】
本節介紹了傳統屬性賦值的弊端--編碼的重複性高,唯一的解決方案就是反射機制,反射機制最大的特徵是可以根據其自身的特點實現相同功能類的重複操作的抽象處理。
傳統屬性賦值弊端
簡單Java類主要是由屬性組成,並且提供有相應的setter、getter處理方法,同時簡單Java類最大的特徵就是通過對象保存相應的類屬性內容。但是如果使用傳統的簡單Java類開發,那麼也會面臨非常麻煩的困難。
範例:傳統的簡單Java類操作
class Emp{
private String ename;
private String job;
public void setEname(String enmae) {
this.ename = ename;
}
public void setJob(String job) {
this.job = job;
}
public String getEname() {
return ename;
}
public String getJob() {
return job;
}
//setter、getter略
}
特別強調,為了方便理解,本次Emp類中定義的ename、job兩個屬性的類型使用的都是String類型。按照傳統的做法,此時應該首先實例化Emp類的對象,而後通過實例化對象進行setter方法的調用以設置屬性內容。
範例:傳統調用
public class JavaAPIDemo {
public static void main(String[] args)throws Exception{
Emp emp=new Emp();//更多情況下開發者關注的是內容的設置
emp.setEname("SMITH");
emp.setJob("CLERK");
//使用為對象設置之後
System.out.println("姓名:" + emp.getEname() + "、職位:" + emp.getJob());
}
}
在整個進行Emp對象實例化並設置數據的操作過程中,設置數據的部分是最麻煩的,如果Emp類中有50個屬性,那麼對於整個程序將會出現有一堆的setter方法調用。或者再進一步說明,在實際的開發中,簡單Java類的個數是非常多的,那麼如果所有的簡單的Java類都牽扯到屬性賦值的時候,這種情況代碼的編碼的重複性將非常的高。
按照傳統的直觀的編程方式,所帶來的問題就是代碼會存在大量的重複操作,如果要想解決對象的重複處理操作,那麼唯一的解決方案就是反射機制,反射機制最大的特徵是可以根據其自身的特點(Object類直接操作,可以直接操作屬性或方法)實現相同功能類的重複操作的抽象處理。
想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。
本內容視頻來源於阿里雲大學