【发布时间】:2017-03-26 13:03:33
【问题描述】:
我想访问和使用从前面提到的抽象类扩展 (SubAbstract.java) 的另一个类的抽象类 (MainAbstract.java) 中的 3 个私有变量。
我想从子类访问主类的getters()和setters()。
在主类(这是一个抽象类)中有一个名为 ShowInfo() 的抽象方法。
这个 ShowInfo() 抽象方法应该做一些事情来查看子类的每个实例。
下面是 MainClass(Abstract) 和 Sub Class SubAbstract 的源代码。请参考。
MainAbstract.java
package abstractionexample;
public abstract class MainAbstract {
private String sName;
private String sType;
private int iQty;
public String getsName() {
return sName;
}
public void setsName(String sName) {
this.sName = sName;
}
public String getsType() {
return sType;
}
public void setsType(String sType) {
this.sType = sType;
}
public int getiQty() {
return iQty;
}
public void setiQty(int iQty) {
this.iQty = iQty;
}
public abstract void showInfo();
public static void main(String[] args) {
}
}
SubAbstract.java
package abstractionexample;
public class SubAbstract extends MainAbstract{
@Override
public void showInfo() {
}
//This is an instance and the getters() and setters() should use each instance of this kind of to get values and set values.
SubAbstract nSubAbs = new SubAbstract();
}
【问题讨论】:
-
我不确定你的问题是什么。但是您不能从任何外部类(包括子类)访问
private成员。 -
你是对的!这就是我使用 getters() 和 setters() 的原因。我正在努力寻找一种可能性。
-
只要您的 showInfo() 方法保持为空,当然不会显示任何内容。你期待什么?
-
正如问题所暗示的,我想在 SubAbstract 类的 MainAbstract 类中使用 getters() 和 setters() 。那我该怎么做呢?
标签: java oop abstract-class abstraction