Java中内部类和静态嵌套类的主要区别是什么?设计/实施是否在 Select 其中一个方面发挥了作用?

推荐答案

Java Tutorial人中:

嵌套类分为两类:静态类和非静态类.声明为静态的嵌套类称为静态嵌套类.非静态嵌套类称为内部类.

静电嵌套类使用包含的类名进行访问:

OuterClass.StaticNestedClass

例如,要为静态嵌套类创建对象,请使用以下语法:

OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();

作为内部类实例的对象存在于外部类的实例中.考虑下面的类:

class OuterClass {
    ...
    class InnerClass {
        ...
    }
}

InnerClass的实例只能存在于OuterClass的实例中,并且可以直接访问其封闭实例的方法和字段.

要实例化内部类,必须首先实例化外部类.然后,使用以下语法在外部对象中创建内部对象:

OuterClass outerObject = new OuterClass()
OuterClass.InnerClass innerObject = outerObject.new InnerClass();

请参阅:Java Tutorial - Nested Classes

为了完整起见,请注意还有一个inner class without an enclosing instance:

class A {
  int t() { return 1; }
  static A a =  new A() { int t() { return 2; } };
}

在这里,new A() { ... }是一个inner class defined in a static context,没有封闭的实例.

Java相关问答推荐

android Document File. isDirector()返回意外结果

如果它最终将被转换为int类型,为什么我们在Java中需要较小的integer类型?

Maven Google Sheets版本问题

使用包私有构造函数强制子类Java类

SQlite for Android无法使用json_group_array/json_object

ittext pdf延迟签名,签名无效

使用@MappdSuperClass扩展ParentClass&Won t继承ParentClass属性

条件加载@ManyToMany JPA

FALSE:它应该在什么时候使用?

如何在EXCEL单元格中添加形状和文本

对字符串长度进行排序,但颠倒了顺序(最长字符串在前)

声明带有泛型的函数以用作查找映射中的值

如何以编程方式保存workBench.xmi?

如何从HttpResponse实例获取Entity对象的内容?

泛型与泛型问题的完美解决方案?

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

Java中的发布/订阅-Long Live和Short Live Publisher,哪种方法是正确的?

使用Java线程进行并行编程

使用StringBuilder和append方法创建字符串时Java字符串内部方法的问题

转换为JSON字符串时,日期按天递减-Java