cloneable接口的问题!大家帮个忙啊!

xiaomantoubaba 2003-08-20 11:28:45
import java.util.*;

public class A
{
public static void main(String[] args)
{
Employee a=new Employee("tom1",10000);
Employee b=a;
Employee c=a.clone();
b.raiseSalary(100);
System.out.println("a; "+a.getSalary()
+", b: "+b.getSalary()
+", c: "+c.getSalary());
}
}
class Employee implements Cloneable
{
private String name;
private double salary;

public Employee(String n,double s)
{
name=n;
salary=s;
}
public double getSalary()
{
return salary;
}
public void raiseSalary(double byPercent)
{
double raise=salary*byPercent/100;
salary+=raise;
}
}
怎么错了啊?大家看看啊!谢谢了!
...全文
41 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
AlanLuo_2002 2003-08-21
  • 打赏
  • 举报
回复
你implement Cloneable接口,就要实现clone方法:
public Object clone()
{
//如果不是深度clone那么必须调用
Employee clone=(Employee)super.clone();
}还有就是类似hashmap等需要深度clone才能做到真真的clone
xiaomantoubaba 2003-08-21
  • 打赏
  • 举报
回复
!有问题
NewStarter 2003-08-20
  • 打赏
  • 举报
回复
是不是
c=(Employee)a.clone();

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧