Вот кое-что, что я не могу понять.
В java.lang.Object
clone()
определяется с модификатором protected
.По определению, к нему можно получить доступ по имени внутри определения своего собственного класса, по имени внутри любого класса, производного от него, и по имени в определении любого класса в том же пакете.
Здесь класс Sample
находится в другом пакете, и, очевидно, он не может получить доступ к clone()
из класса Object
.Но поскольку Sample
неявно вытекает из Object
, почему он не может получить к нему доступ?В определении не сказано, что оно ДОЛЖНО удовлетворять обоим условиям (внутри одного пакета И также быть подклассом).
public class Sample {
public Object foo() throws CloneNotSupportedException {
...
return someObject.clone();
}
}