Java从传入的对象设置 super 扩展类

标签 java

我有这样一个类

public class User implements UserInterface, Parcelable
{
    public User(int userID, String firstName, String lastName, String mobileNumber, Date dateAccountCreated)
    {
        this.userID = userID;
        this.firstName = firstName;
        this.lastName = lastName;
        this.mobileNumber = mobileNumber;
        this.dateAccountCreated = dateAccountCreated;
    }
}

然后我有另一个扩展到这个的类:

public class Invitee extends User
{
    private int eventDescision; 
    public Invitee(User u, int eventDescision)
    {
        super() = u;
        this.eventDescision = eventDescision;
    }
}

显然这一行 super() = u; 不起作用。但是,如何在传递受邀者接收的用户对象并将其设置为扩展对象而无需创建另一个构造函数的情况下实现此功能?我知道我可以将对象作为带有 getter 和 setter 的变量,但是,我喜欢它在不这样做的情况下流动的方式,因为被邀请者始终是用户。

最佳答案

您在 Invitee 构造函数中收到的

User 是一个真实的实例,您正在创建另一个实例。您不能在 super 构造函数中分配一个实例,您只能使用复制构造函数复制它。

关于Java从传入的对象设置 super 扩展类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24304342/

相关文章:

java - 当我将 global-method-security 添加到 spring-servlet.xml 时出现 Spring MVC 异常

java - 阻止 IntelliJ 重写我的代码

java - 如何从具有单例类的类对象中获取正确的值?

java - Android 专家能否解释奇怪的 USB 主机行为

java - 如何使用键盘输入设置类字符串变量?

java - 使用java中的多线程将值写入文件

java - 仅替换完全匹配

java - 动态添加布局,以与其他布局重叠

java - 更改 DKPro 中可重用管道中的文本

java - Android XML 绑定(bind) - Simpleframework