java - 内部类作为外部类的一部分
问题描述
假设我有一家玩具店。我有一个可以购买这些玩具的网页。每个玩具都有自己的特征,但为了表示一个人类玩具,我有一个名为的类HumanToy
,它具有一些属性,如高度、重量……但我有一个嵌套属性,它本身就是一个 JavaBean HumanLegs
,并且这个类有它自己的特征,例如:
public class HumanToy {
private Double height;
private Double weight;
private HumanLegs humanLegs;
private class HumanLegs {
private Double height;
private Double weight;
}
我的问题是:
这个玩具有一个静态HumanLegs
类有什么意义吗?我的意思是,从概念上讲,HumanLegs
它们不能单独存在,它们只存在于一个玩具中,所以我认为它首先是一个内部类(不是一个分离的类),其次不是静态的,出于同样的原因,我的意思是,只有实例化一个HumanToy
你可以得到一个HumanLegs
对象或者HumanLegs
你需要一个对象来得到一个HumanToy
对象。这是正确的想法吗?
解决方案
是的,这是有道理的,因为HumanLegs
保留了对他的外部类的引用。如果将实例移动HumanLegs
到另一个实例,则不会删除HumanToy
原始实例,因为确实保留了对它的引用。HumanToy
HumanLegs
因此,外部类在内存中的保存时间至少与内部类的所有实例一样长。
推荐阅读
- java - Recyclerview:如何将一些帖子与图像和没有图像混合?
- javascript - 为什么在ubuntu服务器的nodejs中动态创建目录时出错?
- python - Django 将 urls.py 拆分为子模块
- google-chrome - 是否有某个页面我应该从我的 Chrome 扩展项目中获取我的 API 数据?
- mysql - 如何在 MYSQL 中编写“当匹配然后更新”
- mongodb - 如何在几分钟内将 700+ 百万行导入 MongoDB
- ios - 从 UITabBarController 选项卡根视图呈现 UINavigationController
- c# - 我可以注册特定域以在应用程序中运行吗?
- angular - Angular 对话框的奇怪行为
- php - 具有多个连接的重复行