2017-04-07 63 views
1

我有3個類,例如:ShareType,ShareTypesTrue和Main。如何使用在主類中調用/設置的另一個類設置類的值

public class ShareType { 
     public String shareTypeName = ""; 
     public String noOfShare = ""; 
     public String parValue = ""; 

     public void setShareTypeName(String shareTypeName) { 
      this.shareTypeName = shareTypeName; 
     } 

     public void setNoOfShare(String noOfShare) { 
      this.noOfShare = noOfShare; 
     } 

     public void setParValue(String parValue) { 
      this.parValue = parValue; 
     } 

    } 

    public class ShareTypesTrue { 
     public List<ShareType> shareType; 

     public void setShareType(List<ShareType> shareType) { 
      this.shareType = shareType; 
     } 

    } 

    public class Main { 
      ShareTypesTrue sharetypetrue = new ShareTypesTrue(); 
       sharetypetrue.add(shareTypeName); 
      } 

現在我的問題是我需要將shareTypeName設置爲類ShareTypesTrue下的值。這意味着我必須使用ShareTypesTrue來調用Sharetype類並設置shareTypeName。

任何人有想法?

注:我不能改變/添加代碼在前2類除了在主。我只需要找到一種方法來解決這個問題。 非常感謝

回答

2

請檢查下面的代碼主類。

import java.util.ArrayList; 
import java.util.List; 


public class Main { 

public static void main(String args[]){ 

    ShareTypesTrue sharetypetrue = new ShareTypesTrue(); 

    //Create object 
    ShareType shareType = new ShareType(); 
    shareType.setShareTypeName("Original Name"); 

    //Create list 
    List<ShareType> shareTypes=new ArrayList<ShareType>(); 
    shareTypes.add(shareType); 

    //Attach it to share 
    sharetypetrue.setShareType(shareTypes); 

    //Print 
    for(ShareType shareTypesMember:sharetypetrue.shareType){ 
     System.out.println(shareTypesMember.shareTypeName); 
    } 

    //Editing it. 
    for(ShareType shareTypesMember:sharetypetrue.shareType){ 
     shareTypesMember.shareTypeName = "Updated Name"; 
    } 
    //Print 
    for(ShareType shareTypesMember:sharetypetrue.shareType){ 
     System.out.println(shareTypesMember.shareTypeName); 
    } 
} 
} 
+0

謝謝@Tejas,我只需要使用ShareTypesTrue來設置Sharetype。主要。 –

+0

我認爲就是這樣。謝謝你太多@Tejas –

+0

還有一件事,如果我需要在ShareTypesFalse下創建另一個列表,該怎麼辦? –

1

使用Sharetype類設置shareTypeName

ShareType share = new ShareType(); 
share.setShareTypeName("name"); 
share.setNoOfShare("no"); 
share.setParValue("val"); 

List<ShareType> shareType = new ArrayList<ShareType>(); 
shareType.add(share); 

使用ShareTypesTrue設置Sharetype

ShareTypesTrue sharetrue = new ShareTypesTrue(); 
sharetrue.setShareType(shareType);//pass ShareType as list 
+0

謝謝你的答案@satya是的,我需要使用ShareTypesTrue設置ShareType值。這對你建議似乎沒有工作。它說它不能解析爲變量。你能給我舉例說明如何使用ShareTypesTrue在ShareType中設置每個變量?謝謝 –

+0

@KelvinPeralta'它說它不能解析成變量'我沒有得到這個。這就是你需要的例子。 – Satya

+0

我似乎不明白。我也有導入列表和列表。 –

0

如果你想設置ShareType的「名稱」,是什麼阻止你做以下:

class ShareTypeTrue_Extended extends ShareTypeTrue{ 

protected shareTypeName; 

public ShareTypeTrue_Extended(String shareTypeName){this.shareTypeName=shareTypeName;} 

public void setShareType(List<ShareType> shareType) { 

     for(ShareType s: shareType)s.setShareTypeName(this.shareTypeName); 
     super.setShareType(shareType); 
    } 

}