为什么不能在Java中将类声明为静态类?

推荐答案

只有嵌套类才能为静电.这样,您就可以在没有外部类实例的情况下使用嵌套类.

class OuterClass {
    public static class StaticNestedClass {
    }

    public class InnerClass {
    }

    public InnerClass getAnInnerClass() {
        return new InnerClass();
    }

    //This method doesn't work
    public static InnerClass getAnInnerClassStatically() {
        return new InnerClass();
    }
}

class OtherClass {
    //Use of a static nested class:
    private OuterClass.StaticNestedClass staticNestedClass = new OuterClass.StaticNestedClass();

    //Doesn't work
    private OuterClass.InnerClass innerClass = new OuterClass.InnerClass();

    //Use of an inner class:
    private OuterClass outerclass= new OuterClass();
    private OuterClass.InnerClass innerClass2 = outerclass.getAnInnerClass();
    private OuterClass.InnerClass innerClass3 = outerclass.new InnerClass();
}

Sources :

On the same topic :

Java相关问答推荐

Proguard配置以保留具有参数的注释的成员

表格栏上的事件过滤器在PFA中不起作用

Saxon 9:如何从Java扩展函数中的net.sf.saxon.expr. XPathContent中获取声明的变量

Java 22模式匹配不适用于记录模式匹配.给出汇编问题

为什么Java中的两个日期有差异?

尽管类型擦除,instanceof与泛型在Java中如何工作?

Intellij显示项目语言级别最高为12,尽管有java版本17 SDK

给定Java枚举类,通过值查找枚举

与不同顺序的组进行匹配,不重复组但分开

如何将Pane的图像快照保存为BMP?

支持MySQL 5.6的最新Hibernate版本

Java中不兼容的泛型类型

删除打印语句会影响功能...腐败在起作用?

从映射列表中检索所有键

Java.time.OffsetDateTime的SQL Server数据库列类型是什么?

处理4.3问题:javax.xml.ind包不存在(&Q;).您可能在学习GitHub教程时遗漏了库.&Q

Maven-Dependency-Plugin 3.6.+开始查找在依赖关系:分析目标期间找到的新的使用的未声明依赖关系

如何利用OpenTelemeter将初始值(零)输出到普罗米修斯

Maven创建带有特定类的Spring Boot jar和普通jar

java构造函数中的冻结操作何时发生?