我写了下面的类来讨论Comparable / Serializable接口。
package testpro;
public class SerialTest implements Comparable {
private int circleSize = 10;
private int getCircleSize() {
return circleSize;
}
@Override
public int compareTo(Object o) {
SerialTest object = (SerialTest) o;
if(getCircleSize()>object.getCircleSize()){ // I can access object.getCircleSize() here, but it's private.. why?
return 1;
}
else if(getCircleSize()<object.getCircleSize()){// I can access object.getCircleSize() here, but it's private.. why?
return -1;
}
else{
return 0;
}
}
}
我将一个Object o传递给compareTo()方法,但getCircleSize()是私有的。那怎么可能,我有权访问这个? 我很确定C ++不会放过它。
答案 0 :(得分:6)
私人意味着只能从同一个班级访问。在将Object o
投射到SerialTest object
后, 在同一个班级中。
答案 1 :(得分:2)
答案 2 :(得分:0)
答案 3 :(得分:0)
private
。但是在课堂上它可以进行编程。例如您的代码,您可以在生成结果时使用类中的所有私有标识符或方法。
C ++也提供此功能。您可以在类或方法中轻松使用私有方法,以生成函数调用的响应。这很简单,合法!