我有一个这样定义的类:
package prueba;
public class OtraClase {
[...]
protected int num3;
[...]
另一个类是这样定义的:
package otro;
import prueba.*;
public class OtraClaseMas extends OtraClase{
但是,如果在最后一个类中我创建了一个 OtraClase 对象,我就无法执行以下操作:
createdObjectOfOtraClase.num3=1;
我认为根据文档我应该能够,here https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html。它表示 protected 修饰符允许另一个包中该类的子类进行访问。尽管我仔细观察它,但我并不认为它是另一个包中该类的子类。
我误解了什么吗?
编辑:我要么使用类的构造函数,要么在另一个不同的函数中使用,但它在两个地方都不起作用。
构造函数的代码:
public OtraClaseMas(int num, int num2,int num3)
{
super(num, num2,num3);
OtraClase oc=new OtraClase(1,1,1);
//oc.num3=1; This doesn't work
}
该方法的代码:
public void foo()
{
OtraClase oc=new OtraClase(1,1,1);
//oc.num3=1; This doesn't work
}