【发布时间】:2015-09-14 04:09:12
【问题描述】:
我正在尝试向 android 中的 Chronometer 类添加一个方法。它将开始时间存储在此变量中:
private long mBase;
所以我认为我可以做到这一点
public class MyChronometer extends Chronometer{
public void reset(){
long now = SystemClock.elapsedRealtime();
this.mBase = now;
}
}
但 Android Studio 告诉我找不到 mBase。为什么是这样?我做错了什么?根据我对 Java 继承的理解,如果我扩展一个类,那么我就拥有了我扩展的类的所有方法和变量,然后我可以添加到这些方法和变量中。这是不正确的吗?这不包括mBase 变量,即使它是私有的?
编辑:本质上我正在尝试为mBase创建一个setter函数
【问题讨论】:
-
我认为这只是它的受保护和公共成员,而不是私有成员。
-
" 如果我扩展一个类,那么我拥有我扩展的类的所有方法和变量" 实例有它们,但你的派生类代码无法访问私人的,只有公共的和受保护的。 (顺便说一句,它们是“字段”,而不是“变量”。)
-
如果你能做到这一点,
private将毫无意义!
标签: java android inheritance private chronometer