既然我们知道clone()类中声明的Object方法是受保护的,并且Object的每个子类(所有类)都可以在这里访问它,所以我的问题引起了:

如果我写:

String str1 = "clone";
String str2 = str1.clone();


编译器将此标记为错误。 String不会覆盖clone(),因此只能在lang程序包中访问此方法(我知道此类是否覆盖clone(),它应该是公共的,以便可以从程序包外部进行访问;如果受保护,则可以访问在lang包中)。对?
但是此片段不会标记任何编译错误:

Point p1 = new Point();
Point p2 = p1.clone();


为什么?
StringPoint类都不会覆盖clone()方法,但是clone()方法可通过Point对象访问。

最佳答案

Pointclone()继承公共Point2D方法。

关于java - 访问属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16934489/

10-15 13:24