我正在尝试在android中创建一个复合组件。该化合物组分具有2个内部组分。其中一个是自定义组件(假设CompX)与一些公共方法。 第二个组件是普通按钮 所以复合组件如下所示,
class CompoundComp扩展了LinearLayout {
private CompX customComp;
private Button comp2;
public void method1(){
------------------------------
------------------------------
}
-----------------------
-----------------------
}
class CompX {
public void methodA(){
----------------------
}
public void methodB(){
----------------------
}
}
现在我正在使用客户端程序中的Compound Component,
class Client {
CompoundComp compoundObj = new CompoundComp();
compoundobj.method1();
}
现在我的问题是访问CompX方法。我已知的解决方案是,
将CompX实例在CompoundComp类中设为public,以便客户端可以直接调用它们
坦率地说,我无法决定走哪条路,因为我无法对两种解决方案的优点进行总结。
如果我的解决方案是正确的,请有人建议我。如果是这样,哪一个更好用,如果不是,请给我一些建议或解决方案的线索。
由于
答案 0 :(得分:0)
CompX类不是静态的,因此您无法创建它的实例。
要初始化内部非静态类,您应该使用外部类的对象创建它。