有没有办法private
从子类访问父类中的字段?IE:
public class parent<T> {
private int MaxSize;
...
}
public class sub extends parent {
public int getMaxSize() {
return MaxSize;
}
}
基本上我想要一个访问器方法,getMaxSize()
来返回一个ArrayQueue
. 谢谢。
否 -private
字段只能在声明它们的类中直接访问。但是,您可以创建 field protected
,这将允许您从子类中访问它。下表是一个方便的参考:
每个情绪化者允许的访问: 修饰符类包子类世界 ---------------------------------------------- 公共 YYYY 保护 YYYN 无修饰符 YYNN 私有 YNNN
当然,您也可以编写一个public
(或protected
!)getter 方法,它只返回您的字段的值,并在子类中使用此方法而不是实际的字段本身。
顺便说一句,在 Java 中以camelCase 形式编写变量名是惯例,即maxSize
.
private
变量不能从其声明类以外的任何类访问,这意味着子类无权访问private
其父类的变量。
您可以在具有public
访问权限的父类中添加一个 getter,它们都允许子类访问。使用这种结构,您的子类也从父类继承getMaxSize()
,无需在子类中声明方法。
public class Parent {
private int maxSize;
public int getMaxSize() {
return maxSize;
}
}