1. 程式人生 > 其它 >(反射與簡單Java類)傳統屬性賦值弊端

(反射與簡單Java類)傳統屬性賦值弊端

技術標籤: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類直接操,可以直接操作屬性或方法)實現相同功能的重複操作的抽象處理。