目录
题目需求
Object的
clone
方法可以帮助我们克隆对象。现在需编写一个类Car
包含:1.属性:
private String name; private CarDriver driver; private int[] scores;
2.无参构造函数
public Car() { }
3.方法:
@Override public String toString() { return "Car [name=" + name + ", driver=" + driver + ", scores=" + Arrays.toString(scores) + "]"; }
setter/getter方法与
clone
方法。注意:clone
方法需实现对象的深度克隆。
CarDriver
为已经定义好的类,部分代码如下:class CarDriver { private String name; public CarDriver() {} //setter/getter //toString }
在main方法中,利用对象car1克隆出car2,并修改car2的driver信息。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in) ; Car car1 = new Car() ; CarDriver driver1 = new CarDriver() ; CarDriver driver2 = new CarDriver() ; int[] scores = {10000000} ; driver1.setName(scanner.nextLine()); driver2.setName(scanner.nextLine()); car1.setName(scanner.nextLine()); car1.setDriver(driver1); car1.setScores(scores); //克隆 Car car2 = car1.clone() ; //修改信息 car2.setDriver(driver2); System.out.println(car1); System.out.println(car2); } } /* 请在这里填写答案,即Car类的完整代码 */
输入样例:
ZLX HHZ Honda
输出样例:
Car [name=Honda, driver=CarDriver{name='ZLX'}, scores=[10000000]] Car [name=Honda, driver=CarDriver{name='HHZ'}, scores=[10000000]]