我无法理解以下方法的工作原理。 我有类 Calc 和乘法方法,第一种方法使用典型的 getter,第二种方法可以通过类型转换直接访问私有(private)属性。我的问题是,number1 怎么可能访问number2 的私有(private)属性。
private int number;
public Calc multiplication(Calc z)
{
return new Calc(this.number*z.getNumber());
}
public Calc multiplication(Calc z)
{
return new Calc(this.number*((Calc)z).number);
}
test()
{
number1 = new Calc(2);
number2 = new Calc(3);
number1.multiplication(number2);
}
最佳答案
来自Java Tutorials :
The
private
modifier specifies that the member can only be accessed in its own class.
该成员是否属于同一类的不同实例并不重要。只要类相同,一个实例中的方法就可以访问另一个实例的私有(private)
成员。
关于Java通过类型转换访问成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36166246/