我想知道是否有任何区别创建一个新的文件中的类和声明一个里面的另一个类,它仍然能够从类的外部引用?我想知道,因为这会帮助我的工作更有条理。创建一个类并在另一个类中声明一个类是否有区别?
回答
Here是嵌套类的完整文档。
如果你想知道何时使用内部类(从link):使用嵌套类
令人信服的理由包括以下内容:
它的逻辑分组类的方式,仅用于一个 的地方:如果一个类只对另一个类有用,那么逻辑上它就是 ,将它嵌入到该类中,并将它们保持在一起。嵌套0这样的“帮助类”使他们的包更加简化。
它增加封装:考虑两个顶级类别A和B, 其中B需要访问A的成员,否则将被声明为 私有。通过将B类隐藏在A类中,A的成员可以被宣布为 私有,B可以访问它们。另外,B本身可以从外部隐藏 。
它可以导致更易读和可维护的代码:在顶级类中嵌套小型 类将代码放置在更接近于使用 的地方。
是的,你可以从其他类访问你的内部类。 (阅读约controlling access to members of a class)。
Here你可以找到一个关于如何从类的“外部”访问内部类的例子。
感谢您的解释和文档!这没有被错误标记,是吗?由于它不是专门关于代码的。 –
我认为标签是正确的,这是一个java问题。 @zachwirta –
- 1. 在包对象中声明一个类与在声明一个类之间是否有任何实质区别?
- 2. 用'def'声明一个变量并用一个已知类型声明变量是否有区别?
- 3. 如何根据另一个类的类型声明一个类
- 4. 正向声明一个类并声明一个类的变量有什么区别?
- 5. 声明一个扩展另一个多态类的多态类
- 6. 是否可以在XAML中声明一个类型别名?
- 7. 在另一个类中创建一个类的数组
- 8. 如何在另一个类中创建一个类的实例
- 9. 创建一个具有另一个类的对象的类
- 10. C#创建另一个类
- 11. 我是否必须为类的所有私有方法声明一个类别?
- 12. 找出一个类是否是另一个类的一个子类(Objective-C)
- 13. 注册一个类别的所有声明的子类在C#
- 14. 是否有可能在Java中声明一个类或另一个类的对象?
- 15. 当在一个类中声明一个新的数组时,内存分配是否有区别?
- 16. 运行另一个类的Nunit声明
- 17. 从另一个类创建类
- 18. 在一个类中声明一个静态方法并将它用作另一个类的方法
- 19. 声明一个类/结构
- 20. 将一个类的多个css规则合并到一个类声明中?
- 21. 访问另一个类在类中声明的列表
- 22. 如何获得在另一个类中声明的类对象?
- 23. 创建一个别名到另一个类型
- 24. 声明这个类声明中一个类的实例,并就地
- 25. 在类声明中声明一个类对象的指针
- 26. 在另一个类声明中创建一个类的对象时出现“Expected a type specifier”错误
- 27. 如何从另一个类创建一个类Singleton?
- 28. 在Python的另一个类中定义一个类是否有好处?
- 29. 是否需要在同一个类中创建一个类的对象?
- 30. 将一个类中声明的变量传递给另一个类
是的。检查[嵌套类](https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html) – sam
自Q首次发布以来,标记发生了显着变化 – Plutonix