我有这样一个类
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/