我能够创建静态内部类的实例,而不会出现编译错误。这是什么意思? java 如何允许为静态类创建对象?...请帮助我解决这个问题。
public class StringMatrix {
static class moves{
int x;
int y;
moves(int x,int y){
this.x=x;
this.y = y;
}
static moves[] movements = {new moves(0,1),new moves(1,1),new moves(0,-1),new moves(1,0),new moves(-1,0),new moves(-1,-1),new moves(-1,1),new moves(1,-1)};
}
}
最佳答案
这些不称为内部类,而是“静态嵌套类”。它们在外部类中被声明为静态,这意味着它们可以在没有外部类实例化的情况下存在。它们实际上只是一个在另一个类中定义的普通类,以便使代码更易于阅读和更好地分组。
有关详细信息,请参阅 Java's documentation
关于java - java如何允许内部静态类的实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22677450/