JavaBean BeanUtils 成員變量和屬性 區別對比

我在看黑馬視頻自學,學到這裏有點疑惑

1)成員變量:使用private修飾的 明確寫出的 變量

     屬性:setter和getter方法截取後的產物(仔細體會這句話

     個人認爲在使用setProperty方法時,內部會根據javabean中的set方法來進行傳值,setProperty操作的是屬性而非成員變量,可以看測試代碼:

private String gender;

public void setHehe(String gender){
        this.gender = gender;
    }

    public String getHehe(){
        return gender;
    }

@Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", gender='" + gender + '\'' +
                '}';
    }
public void test(){
        User user = new User();
        try {
            BeanUtils.setProperty(user,"gender","male");
            System.out.println(user);
            BeanUtils.setProperty(user,"Hehe","male1");
            System.out.println(user);
            BeanUtils.setProperty(user,"hehe","male2");
            System.out.println(user);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
    }

結果:

User{id=0, username='null', password='null', gender='null'}
User{id=0, username='null', password='null', gender='null'}
User{id=0, username='null', password='null', gender='male2'}

三種情況只有第三種傳值成功(注意必須是set方法中寫好的名稱同時小寫開頭 hehe 而非Hehe)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章