2017-04-07 58 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); 
    } 

}