package com.javarush.test.level21.lesson08.task03; /* Запретить клонирование Разрешите клонировать класс А Запретите клонировать класс B Разрешите клонировать класс C Метод main не участвует в тестировании. */ public class Solution { public static class A implements Cloneable { private int i; private int j; public A(int i, int j) { this.i = i; this.j = j; } public int getI() { return i; } public int getJ() { return j; } public Object clone() throws CloneNotSupportedException { return super.clone(); } } public static class B extends A { private String name; @Override public B clone() throws CloneNotSupportedException { throw new CloneNotSupportedException(); } public B(int i, int j, String name) { super(i, j); this.name = name; } public String getName() { return name; } } public static class C extends B { public C(int i, int j, String name) { super(i, j, name); } @Override public C clone(){ return new C(getI(), getJ(), getName()); } } }
Leave A Comment