抱歉,Java新手C ++程序员再次罢工
我有这个代码
public class MainView extends View {
static final int DRAW_LIST_SIZE=100;
class EventDrawStuff {
int a;
int b;
int c;
}
static EventDrawStuff m_drawList[] = new EventDrawStuff[DRAW_LIST_SIZE];
class DrumEventDrawStuff {
int x;
int y;
}
static DrumEventDrawStuff m_eventDrawStuff = new DrumEventDrawStuff();
m_drawList的声明似乎可以正常工作,m_eventDrawStuff的声明无法编译。有什么区别,不能只是m_drawList是一个数组?
我注意到,如果我说
static DrumEventDrawStuff[] m_eventDrawStuff = new DrumEventDrawStuff[1];
没关系,但是我真的不希望它是一个数组,因为它只是一件事。
我意识到修复原始代码的方法是在构造函数中初始化m_eventDrawStuff,但这似乎很麻烦且不必要。
也许我完全错了主意,请赐教,谢谢
最佳答案
您可以通过两种方式进行操作-
使内部类静态
在DrumEventDrawStuff
对象的帮助下创建MainView
对象。static DrumEventDrawStuff m_eventDrawStuff = new MainView().new DrumEventDrawStuff();
关于java - java初始化一个字段是一个类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14273423/