2个回答
2013-12-01
展开全部
问题1:声明实现cloneable接口是为了让Employee类的对象能够通过调用自身的clone()方法实现实现“深层复制”操作,所谓“深层复制”指的就是对象字段的内容能够自我克隆,即此时此刻对象的安全拷贝,这与创建此对象的类的另一个新实例所使用的通常的内存分配方式不同,因为后者只是用被复制对象字段的内容初始化新对象的所有字段,实现cloneable接口就能保证对象使用前者的内存分配方式,尽管它只是一个标志(只有字段,没有方法),但是它有底层的一些功能。如果不实现cloneable,那么在Employee类的对象上调用clone()方法就会抛出CloneNotSupportedException异常。问题2:object类中有原始的clone()方法,但是Employee类继承自object类(object类是所有类的超类),所以override其clone()方法时可以将object类型改变为子类Employee的类型.问题3:因为从上面的代码不能看出Date类是否实现了cloneable接口,如果没有实现就必须抛出CloneNotSupportedException,否则在对象salary上调用clone方法将会导致在运行时出现问题。问题4:子类对象转化为父类时是隐式转换,父类对象转化为子类时是显式转换,必须使用()进行强制类型转换。问题5:从这里看来,salary对象引用指向的是Date类,如果Date类中没有重写clone()方法,那么salary.clone()返回的是Date类的超类对象的拷贝,这时就得使用强制类型转换。
如果帮助到您,请记得采纳为满意答案哈,谢谢!祝您生活愉快! vae.la
如果帮助到您,请记得采纳为满意答案哈,谢谢!祝您生活愉快! vae.la
2013-12-01
展开全部
Scanner input = new Scanner(System.in);
System.out.print("请输入姓名:");
String name = input.next();
System.out.print("请输入年龄:");
String age = input.next(); //在控制台输入的内容
System.out.print("请输入身高:");
String height = input.next();
System.out.println(name+","+age+","+height);
System.out.print("请输入姓名:");
String name = input.next();
System.out.print("请输入年龄:");
String age = input.next(); //在控制台输入的内容
System.out.print("请输入身高:");
String height = input.next();
System.out.println(name+","+age+","+height);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询