如何在java中编写组合和聚合

Mif*_*fas 5 c++ java oop

我想知道如何在java中识别组合和聚合代码.我有C++代码,但我不懂如何用java编写.

组成

class A {};
class B { A composited_A; };
Run Code Online (Sandbox Code Playgroud)

通过指针聚合

class A {};
class B
{
A* pointer_to_A;
B(A anA){ 
pointer_to_A = &anA;
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我两个如何在JAVA工作.(我知道组合和聚合的含义)};

Kon*_*lph 8

Java本身根本不区分组合和聚合.您无法在Java类型系统中表达引用所有权的想法 - 如果您明确需要表达所有权,则必须使用其他方式表示(通常只需构造一个新对象以存储在类的实例中).

由于Java具有GC,因此根本不需要表达对内存的所有权.内存仅由GC拥有和管理.当然,对于其他资源也是如此,在这里你可能仍然希望表达所有权.