0

因为我们知道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对象访问。

4

2 回答 2

2

Point从 继承公共clone()方法Point2D

于 2013-06-05T08:02:35.453 回答
2

Point从 继承公共clone()覆盖Point2D

您可以在Javadoc中自己发现这一点。

于 2013-06-05T08:01:08.380 回答