这是我的意思的一个例子:
class Foo
{
Object testObj1;
Object testObj2;
Foo.Bar BarObj = new Foo.Bar(testObj1, testObj2);
Object BarObj1 = BarObj.obj1;
static class Bar
{
public Object obj1;
public Object obj2;
public Bar(Object obj1, Object obj2)
{
this.obj1 = obj1;
this.obj2 = obj2;
}
}
}
我想创建一个静态嵌套类,使其构造函数参数可以立即用于实例化它的任何类,这是最好的方法吗?
编辑:好的,当你不擅长Java时,很难构建一个问题。我是一个中间的android开发人员,基本上,BarObj应该包含与android中的某个功能有关的对象,例如3按钮菜单。每个按钮包含一些对象资源,包含按钮图像的Image对象,包含按钮文本的Text对象等等。
所以我想用每个按钮将自己的资源封装到一个对象中,这样我就可以将该按钮对象解析为fx函数。单击按钮时操纵按钮图像。那有意义吗?这是一些更新的代码:
class Foo
{
Object Button1Image;
Object Button1Text;
Object Button2Image;
Object Button2Text;
Foo.Button Button1Obj = new Foo.Button(Button1Image, Button1Text);
Object Button1ObjImage = Button1Obj.obj1;
static class Button
{
public Object obj1;
public Object obj2;
public Button(Object obj1, Object obj2)
{
this.obj1 = obj1;
this.obj2 = obj2;
}
}
}
答案 0 :(得分:1)
与此相似的方法出了什么问题?
class Foo
{
ButtonInformation[] buttons = new ButtonInformation[]{
new ButtonInformation(image1, "Button 1"),
new ButtonInformation(image2, "Button 2"),
new ButtonInformation(image3, "Button 3")
};
class ButtonInformation
{
public Image buttonImage;
public String buttonText;
public ButtonInformation(Image buttonImage, String buttonText)
{
this.buttonImage = buttonImage;
this.buttonText = buttonText;
}
}
}
访问按钮的信息,你会这样做(在Foo类中):
function doSomething(int button) {
// make sure button is less than the buttons.length.
Image buttonImage = buttons[button].buttonImage
String buttonText = buttons[button].buttonText;
}