![]() |
1
9
如果内部类只与包含(或外部)类相关,则内部类非常有用。 私有内部类的一个很好的例子是,当您需要管理外部类中永远不会公开的内容时。在下面的示例中,缓存管理器处理对象的缓存和取消缓存。它使用一个私有的内部类来存储指向它想要缓存的对象的指针,以及上次访问它的时间。此假设的cachemanager用户永远不需要知道cacheentry的代码。
然后是一个公共的内部阶级。如果名称(我希望保持简单),我将使用嵌套类,我在其他地方的冲突:
|
![]() |
2
4
一个原因是内部类可以直接访问封闭类的成员。为了访问这些成员,它们不需要对封闭类的引用。同时,其他对象可能需要访问内部对象。 我可以想到在集合中声明为内部类的迭代器的例子。迭代器需要对它所迭代的集合有深入的了解,但是客户机代码需要作为对象访问迭代器本身。不能获取迭代器的功能并将其包含在外部类中。 也许外部阶级的责任不直接包括内部阶级的责任。因此,创建内部类有助于维护高度内聚的类。 |
![]() |
Robert E. Brown · 嵌套类的嵌套类的访问权限 7 年前 |
|
Pixie · 如何从java实例化scala中定义的嵌套泛型类? 7 年前 |
![]() |
Ray Salemi · 未将嵌套类视为异常 7 年前 |
![]() |
Rob · Python导入类在另一个类中用作嵌套/内部类 7 年前 |
![]() |
paypaytr · 如何在源文件中实现嵌套类构造函数 7 年前 |
![]() |
Gergely Tomcsányi · 内部类和封闭类的单独定义 7 年前 |
![]() |
deepakguna · 如何在内部类中调用继承的类构造函数 7 年前 |
![]() |
John Rambo · 静态/非静态内部类:类型参数T隐藏类型T 7 年前 |
![]() |
Rito · 嵌套类的Morphia中的ORM 7 年前 |