1
3
嵌套类/内部类只是一个仅在另一个类的上下文中专门使用的类,该类没有自己的类文件。如果它链接到实例,则只能在父类实例的上下文中进行实例化;如果它是静态类,则只能看到私有数据,如果它是静态类,则只能看到私有静态数据。 Java开发者站点有一个嵌套类教程,有一个例子: http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html 几个使用示例:
(想到类似hibernate的工具的数据库会话):假设您有一个会话接口和一个sessionFactory,它返回一个会话实例。实现会话接口的sessionimpl具体类可以是工厂的内部类,它知道如何构造和初始化会话接口。
在Wicket Web框架中,每个GUI组件都有一个关联的“模型”,其任务是将数据连接到组件。界面看起来像:
假设您有一些特殊的逻辑来检索您所编写的自定义GUI组件的数据。由于没有其他组件以相同的方式检索数据,因此可以在提供IModel的地方使用匿名类来处理数据检索。如果在同一个类中有另一个点需要重用IModel实现,则可以将其作为内部类。稍后,如果您在其他地方需要该模型,可以将其转换为顶级类。 通常,在需要类定义的情况下使用内部类,但该类只在父类的上下文中可用或有意义。 |
2
3
我对嵌套类的实际使用是在全局设置对象中。 父类是一个单独的类,嵌套类作为设置类别。
将内部对象作为单独的类是没有实际意义的,因为它们在设置类范围之外对它们没有用处。 |
3
2
我使用嵌套类来封装通常作为带有大量参数的方法进行的算法。我使用具有原始数据的类,并将算法放入嵌套类中的单独文件中(使用分部关键字)。这样,在算法完成后,我可以将该算法及其(工作)数据的属性保存下来。 我知道不使用嵌套类很容易做到这一点,但这感觉是正确的,因为算法是专门为父类构建的。
|
zapredelom · 如何从内部枚举中获取外部类名 9 年前 |
Val · 引用asInstanceOf中的嵌套类 9 年前 |
jovanMeshkov · 嵌套类占用更多内存空间? 11 年前 |