【发布时间】:2017-03-02 17:11:03
【问题描述】:
我正在学习 Java 作为第一语言,所以我是一个完整的新手。 我现在正在研究类之间的继承,有些东西我无法理解。我举个例子:
这是主类:
public class Bici {
protected int misura;
protected String modello;
public Bici(int misura, String modello)
{
this.misura=misura;
this.modello=modello;
}
public void stampaCaratteristiche()
{
System.out.println("Size is: "+misura);
System.out.println("Model is: "+modello);
System.out.println();
}
}
这是子类:
public class Tandem extends Bici {
private int ruote;
public Tandem (int ruote)
{
super(misura, modello);
this.ruote=ruote;
}
public void stampaCaratteristicheTandem()
{
System.out.println("Le ruote del tandem sono "+ruote);
}
}
但是在声明超级变量时,我得到了这个错误: “在显式调用构造函数时无法引用实例字段 modello”
为什么?谢谢!
【问题讨论】:
-
那么,您希望
misura和modello具有什么值?它们是超类声明的变量,还没有被任何东西初始化。通常你会将这些作为额外的构造函数参数。
标签: java inheritance superclass super