【正确答案】正确答案:(1)implements (2)WorkExperience obj:new WorkExperienceO (3)implements (4)(WorkExperence)work.Clone() (5)new Resume(this.work) (6)AClone()
【答案解析】解析:本题考查原型模式的概念及应用,原型模型是一种对象创建模型,用原型实体指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模型允许一个对象再创建另一个可订制的对象,无需知道任何创建的细节。 所有的Java类都继承自java.lang.Object,而0bject类提供一个Clone()方法,可以将一个Java对象复制一份。因此在Java中可以直接使用Object提供的Clone()方法来实现对象的克隆。能够实现克隆的java类必须实现一个标识接口Cloneable,表示这个java类支持复制。 题中WorkExperience类和Resume类需要实~Cloneable接口,故(1)和(3)为implements,WorkExperience中需要实现Clone方法,并将自身复制一份,由下面的代码可知(2)为WorkExpefience obj=new WorkExperience()。Resume类中的私有构造方法实现WorkExperience的深复制,故(4)中为(Work.Experence) work.Clone(),而Resume类中Clone方法实现自身的复制,故(5)中为new Resume(mis.work)。在main中实现Resume b对a的复制,故(6)中为AClone()。