2012-08-16 50 views
1

哪種方法最適合分配java變量?還有什麼區別?看到這個;在java中分配變量的差異方法?

public class Test { 
     private String testString; 

     //getter & setter here. 

     public void testMethodOne() { 
      this.testString = "Hello World!"; 
     } 

     public void testMethodTwo() { 
      testString = "Hello World!"; 
     } 

     public void testMethodThree() { 
      setTestString("Hello World!"); 
     } 
    } 

哪個是最好的,this.testString = 「XXX」的TestString = 「XXX」setTestString( 「XXX」)

+2

請閱讀Joshua Bloch的Effective Java的Item 13-14。 – 2012-08-16 07:31:57

+1

我覺得不必要的使用'this.'是一個負擔的眼睛,但這是一個品味問題。調用'setTestString'在類內部是不必要的,除非你知道它有一個有用的副作用,而不僅僅是修改這個值。 – 2012-08-16 07:33:56

+0

@AmitDeshpande項目13或14都沒有關係。 – 2012-08-16 07:34:21

回答

5

我建議你在「this」前加上你的班級屬性。這樣你可以更好地查看成員變量和局部變量。
並且當你無法直接訪問類屬性(從另一個類訪問它們)時使用getters/setters。

0

正如@dadu提到的那樣,您應該使用this,因爲我們在輔助類(setter/getter)方法中使用了這個方法。

如果使用的話,它是我們推薦constructor。使用構造的constructor和assing變量values.Basically目的使用任何其他類沒有輔助類(沒有任何的setter /吸氣)的初始化構造函數示例如下: -

private int intUerId,intUserType,intBranchId; 
private String vchUserName,vchFullName,vchPrivilege; 

public LoginBean(int intUerId, String vchUserName, String vchFullName, 
      String vchPrivilege,int intUserType,int intBranchId) { 
     super(); 
     this.intUerId = intUerId; 
     this.vchUserName = vchUserName; 
     this.vchFullName = vchFullName; 
     this.vchPrivilege = vchPrivilege; 
     this.intUserType=intUserType; 
     this.intBranchId=intBranchId; 
    }