我知道有被聲明爲protected
一個clone()
方法對象類,因此,這意味着我可以叫clone()
在我自己的類,因爲每個類都是從對象類繼承,例如:調用clone()在我自己的類
public class CloneTest
{
public static void main(String args[])
{
Employee employee1 = new Employee(...);
Employee employee2 = employee1.clone(); // but here has 2 errors
}
}
class Employee
{
...
}
第一個錯誤是什麼「在訪問受保護對象」
第二個錯誤是「不兼容的類型」
爲什麼這些錯誤發生?
你的意思是說,如果我不重寫Employee類中的clone()方法,它會產生一個錯誤?但我認爲'clone()'是** Object **類中的** protected **方法,所以我可以將它用於我的CloneTest類(因爲CloneTest是Object的子類) –
是的,您必須重寫它。這將使其可訪問(如果您願意,您可以公開發布)。 CloneTest中的方法無法調用在Employee上調用的Object類的受保護方法。 –
施法應該在clone()方法中完成,而不是由客戶端 – dcernahoschi