Java:同一对象的多个表示

Twi*_*one 0 java reference class object

我有一个像这样的User.class:

public class User {
    private HashSet<Client> clients;
    ...
    public void addClient(Client c) {
        c.setParentUser(this);
        clients.add(c);
}
Run Code Online (Sandbox Code Playgroud)

而Client类:

public class Client {
    private User parentUser;
    public void setParentUser(User u) {
        parentUser = u;
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,在c.setParentUser(this)我的意图是给持有客户端的用户一个"指针".

所以我的问题是:c.setParentUser(this)只是在客户端存储一个引用,还是会创建一个与this(User)完全相同的新对象?

Veg*_*ger 5

它存储引用,如C/C++指针.该变量parentUser引用与this(在User类中)相同的对象.

如果要复制,则需要明确地进行复制.