(反射與簡單Java類)傳統屬性賦值弊端
阿新 • • 發佈:2021-02-01
技術標籤:Java語言高階特性java
簡單Java類主要是由屬性所組成,並且提供有相應的setter與getter處理方法,同時簡單Java類最大的特徵就是通過物件儲存相應的類屬性內容。但是如果使用傳統的簡單Java類,那麼也會面臨麻煩的困難。
範例:傳統的簡單Java類
package reflect; public class Emp { private String eName; private String job; public String getEName() { return eName; } public void setEName(String eName) { this.eName = eName; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } }
ename與job兩個屬性型別使用的都是String型別,按照傳統的做法此時應該首先例項化Emp類的物件,而後通過例項化物件進行setter、getter的呼叫設定屬性內容。
範例:傳統呼叫
package reflect; public class Demo{ public static void main(String[] args) throws Exception{ Emp emp = new Emp(); emp.setEName("張三"); emp.setJob("程式設計師"); //使用為物件設定之後 System.out.println("姓名:"+emp.getEName()+"、職位:"+emp.getJob()); } }
在整個進行Emp物件例項化並設定資料的操作過程之中,設定資料是最麻煩的。如果屬性有50個,那麼對於程式而言會出現有一堆的setter方法呼叫。
對於傳統開發而言,程式碼會存在有大量的重複操作。如果想解決這樣的問題,那麼唯一的解決方法就是反射機制,反射機制最大的特徵是可以根據其自身的特點(Object類直接操,可以直接操作屬性或方法)實現相同功能的重複操作的抽象處理。