如何使用在主类中调用/设置的另一个类在类上设置值

时间:2017-04-07 06:18:41

标签: java xml

我有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。

有人有想法吗?

注意:除了main之外,我不能在前两个类中更改/添加代码。我只需要找到解决这个问题的方法。 非常感谢

3 个答案:

答案 0 :(得分: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);
    }
 }
}

答案 1 :(得分: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

答案 2 :(得分:0)

如果您想设置&#39;名称&#39;在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);
    }

}