对于这个问题假装我正在编写一个论坛。这有两种用户:普通用户和管理员。现在假设论坛需要更多的管理员来优化管理。但是,必须从现有常规用户中挑选新管理员。管理员类继承自User。
这是我努力实现的目标。我已经尝试了下面显示的两种方法但它们不起作用,因为一旦它离开方法,User参数仍然是用户。
// First attemp trying casting
public void turnIntoAdminCasting(User u){
u = (Administrator) u;
}
// Second attemp with constructors
public void turnIntoAdminConstructor(User u){
u = new Administrator(u);
}
public static void main(String[] args){
User u = new User();
User u2 = new User();
turnIntoAdminCasting(u);
turnIntoAdminConstructor(u2);
// Both u and u2 are still User instances
}