java - java如何允许内部静态类的实例化?

标签 java inner-classes

我能够创建静态内部类的实例,而不会出现编译错误。这是什么意思? 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/

相关文章:

java - Testng 中带有数组 arraylist 的数据提供者

Java获取没有.jar文件的执行jar的路径

python - 如何在 Python 类中更好地分离数据

c++ - 内部类可以访问私有(private)变量吗?

java - 最小化 setOnSeekBarChangeListener 样板

scala - 使用内部类作为类型参数

java - Java 中的点长 - 找到它的定义

Java:如何在不使用 Paint() 的情况下从 Canvas 拍摄快照 (BufferedImage)?

java - 我将数据放入 map 中并以不同的顺序获取它

Scala 内部类类型