既然我们知道clone()
类中声明的Object
方法是受保护的,并且Object
的每个子类(所有类)都可以在这里访问它,所以我的问题引起了:
如果我写:
String str1 = "clone";
String str2 = str1.clone();
编译器将此标记为错误。
String
不会覆盖clone()
,因此只能在lang程序包中访问此方法(我知道此类是否覆盖clone()
,它应该是公共的,以便可以从程序包外部进行访问;如果受保护,则可以访问在lang包中)。对?但是此片段不会标记任何编译错误:
Point p1 = new Point();
Point p2 = p1.clone();
为什么?
String
和Point
类都不会覆盖clone()
方法,但是clone()
方法可通过Point
对象访问。 最佳答案
关于java - 访问属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16934489/