Java 如何创建一个新对象,使其一个字段是另一个对象的引用?

Java 如何创建一个新对象,使其一个字段是另一个对象的引用?,java,android,class,oop,Java,Android,Class,Oop,我喜欢创建一个新对象,它的一个字段是另一个对象的引用 UIViewObject是对象的类定义,oView是我要引用到另一个对象的字段: public class UIViewObject { public View oView; public Integer oEnabled; public Integer oVisible; public UIViewObject() { oEnabled = UIAction.UISettingVi

我喜欢创建一个新对象,它的一个字段是另一个对象的引用

UIViewObject是对象的类定义,oView是我要引用到另一个对象的字段:

 public class UIViewObject {    
    public View oView;
    public Integer oEnabled;
    public Integer oVisible;

    public UIViewObject() {
        oEnabled = UIAction.UISettingView.ENABLED;
        oVisible = UIAction.UISettingView.VISIBLE;  
    }
    public UIViewObject setObject(View OView) {
        oView = OView;
        return this;
    }
    public UIViewObject setObject(GL_TextView OView) {
        oView = OView;
        return this;
    }
    public UIViewObject setEnabled() {
        oEnabled = UIAction.UISettingView.ENABLED;
        return this;
    }
    public UIViewObject setDisabled() {
        oEnabled = UIAction.UISettingView.DISABLED;
        return this;
    }
    public UIViewObject setShow() {
        oVisible = UIAction.UISettingView.VISIBLE;
        return this;
    }
    public UIViewObject setHide() {
        oVisible = UIAction.UISettingView.GONE;
        return this;
    }
    public UIViewObject setObjectEnabled() {
        oView.setEnabled(true);
        return this;
    }
    public UIViewObject setObjectDisabled() {
        oView.setEnabled(false);
        return this;
    }
    public UIViewObject setObjectShow() {
        oView.setVisibility(View.VISIBLE);
        return this;
    }
    public UIViewObject setObjectHide() {
        oView.setVisibility(View.GONE);
        return this;
    } 
}
以下是我创建对象的方式:

 HashMap<String, UIViewObject> viewsAction = new HashMap<String,UIViewObject>();
 public void setTextView_Finalized_Show() {
   UIViewObject newO = new UIViewObject();
   viewsAction.put("txvFinalized",   newO.setObject(mUIInvoice.txvFinalized).setShow());
 }
 public void setTextView_Finalized_Hide() {
UIViewObject newO = new UIViewObject();
viewsAction.put("txvFinalized", newO.setObject(mUIInvoice.txvFinalized).setHide());
 }
HashMap viewsAction=newhashmap();
公共无效设置xtview\u Finalized\u Show(){
UIViewObject newO=新UIViewObject();
viewsAction.put(“txvFinalized”,newO.setObject(mUIInvoice.txvFinalized.setShow());
}
public void setTextView\u Finalized\u Hide(){
UIViewObject newO=新UIViewObject();
viewsAction.put(“txvFinalized”,newO.setObject(mUIInvoice.txvFinalized.setHide());
}
txvFinalized是一个公共变量,在newO创建时为null,但在创建之后获得值。我想当txvFinalized在oNew中获得值时,oView的值会发生变化


如何定义要引用的字段(例如txvFinalized?

我很想帮忙,但我不确定您的要求是什么。似乎你只是在问如何将
oView
设置为与
txvFinalized
相同的对象的引用,但你已经在问题中展示了你可以做到这一点。嗨,鲁迪,问题是它不起作用。我在初始化某些类时创建了newO对象,但当UI出现时,实际上txtFinalized获得了值,但newO中的oViwe仍然为null。!!!:(您是否收到任何错误/异常?概念是业务逻辑类控制UI元素(禁用、启用、显示、隐藏等)。当所有类都定义时,将调用初始化方法。业务逻辑的initialize方法在UI initialize方法之前调用。因此,在业务逻辑initialize方法中,定义了变量oView,但仍然为null。在该UI initialize方法调用后,将值设置为公共变量txtFinalize。当我要显示页面时,我将抛出通过业务逻辑进行UI设置,以显示、隐藏、禁用……元素。但由于newO中的oView仍然为空。is不起作用。只需让您知道我为每个元素创建了UIViewObject(视图)在业务逻辑中的xml文件中,将所有设置保存在hashmap中。然后UI读取hashmap并设置它们的外观。我是否首先调用UI类的initialize,然后在业务类正常工作时调用initialize,因为例如txvFinalise在业务类启动之前具有该值。但应用程序的业务逻辑类似于调用all在UI之前初始化业务类的方法:(