Java 组合和聚合代码
在合成中,一旦容器对象销毁,包含的对象就会被销毁,而在聚合中则不然 这可以被认为是一个合成码吗Java 组合和聚合代码,java,Java,在合成中,一旦容器对象销毁,包含的对象就会被销毁,而在聚合中则不然 这可以被认为是一个合成码吗 class A { Integer a = new Integer(); } 聚合 class Room { House house; public void main(String args[]) { house = new House(); } } class House { } 你的代码无法编译。(house不是静态的)我不明白
class A
{
Integer a = new Integer();
}
聚合
class Room
{
House house;
public void main(String args[])
{
house = new House();
}
}
class House
{
}
你的代码无法编译。(
house
不是静态的)我不明白您的示例中“聚合”是什么意思。好的,我删除了静态关键字,聚合意味着“在聚合中,容器对象销毁后所包含的对象不会被销毁”我仍然不明白这是什么意思的“聚合”,但在您的示例中,当你的房间
实例为GC'd时,你的房子
实例将为GC'd。我同意@Kirk Woll的观点,这个例子非常糟糕。这不仅不是一个集合的例子,一个房间包含一个房子的想法是非常荒谬的。对于聚合,您的House
类必须在Room
外部初始化,并传入对该实例的引用。