关于java中clone()和NullPointerException的问题
我在一个复数类ComplexNumber中重写了clone()的方法,以便使用一个复数对象的clone()方法是能够产生一个一样的复数对象但是每次都会产生java.lang.CloneNotSupportedException异常和java.lang.NullPointerException异常。希望哪位给指点一个下,不胜感激。
(java.lang.CloneNotSupportedException异常出现在代码第四行java.lang.NullPointerException异常出现在代码最后一行)
代码如下:
1. public Object clone(){
2. try{
3. //克隆一个对象时,应该先调用父类的clone方法
4. ComplexNumber newObject = (ComplexNumber)super.clone();
5. //将现有对象的值赋给新对象
6. newObject.setImaginaryPart(this.imaginaryPart);
7. newObject.setRealPart(this.realPart);
8. return newObject;
9. }catch(CloneNotSupportedException e){
10. //如果没有实现Cloneable接口,抛出异常
11. e.printStackTrace();
12. return null;
13. }
14. }
15. ComplexNumber e = (ComplexNumber)c.clone();
16. System.out.println("c.clone() = " + e.toString());