找不到符号Java

找不到符号Java,java,Java,我正在为我的课程做一个练习,通过编码我偶然发现了一个问题。我应该创建一个扩展类,我想我遇到的问题是我给构造函数的参数 下面是直接超类: public class ElectricalComponent extends Component { private int myMinRating, myMaxRating; public ElectricalComponent( String partNumber, int versionNumb

我正在为我的课程做一个练习,通过编码我偶然发现了一个问题。我应该创建一个扩展类,我想我遇到的问题是我给构造函数的参数

下面是直接超类:

public class ElectricalComponent extends Component 
{ 
  private int myMinRating, 
              myMaxRating; 
      
  public ElectricalComponent( String partNumber, int versionNumber, int minRating, int maxRating ) 
  { 
    super( "Electrical", partNumber, versionNumber ); 
    myMinRating = minRating; 
    myMaxRating = maxRating; 
  } 

  public int getMinRating() { return myMinRating; } 
  public int getMaxRating() { return myMaxRating; } 
}
这是我正在学习的课程:

public class HighvoltageComponent extends ElectricalComponent
{
  private int myMinRating, myMaxRating;

  public HighvoltageComponent( String partNumber, int versionNumber)
  {
    super( "Electrical", partNumber, versionNumber );
    myMinRating = 50000;
    myMaxRating = 200000;
  }

}
我的问题是在子类中,它说:“HighvoltageComponent(String…)

当我运行主类时

public static void main( String[] args )
{
  // test your code here
  Component a = new HighvoltageComponent( "HV12", 0 );

  System.out.println( a.toString() );
  System.out.println( a.getTypeName() );
  System.out.println( a.getPartNumber() );
  System.out.println( a.getVersionNumber() );
}
我得到的错误是

“HighvoltageComponent.java:9:找不到符号

符号:构造函数ElectricalComponent(java.lang.String,java.lang.String,int)”

为什么会这样

另外,你能告诉我这个问题是否正确吗?问题是:

高压部件是最低额定值为50000、最高额定值为200000的电气部件。完成以下高电压组件的定义。(您需要在下面代码区域的多个位置插入代码。)


谢谢,Rohan

ElectricalComponent
构造函数需要四个参数,您在call
super(“Electrical”、零件号、版本号)中只传递了三个参数
高电压组件中

你的超级电话应该是这样的

super( partNumber, versionNumber,myMinRating ,myMaxRating );

由于发现所有
ElectricalComponent
扩展都具有
minRating
maxRating
,因此您最好在
ElectricalComponent
类中更改这两个字段受保护的范围,并在其构造函数中删除这两个参数。这避免了在父实例和子实例中保持相同的值。

因此它应该是公共高电压组件(字符串partNumber、int versionNumber、int minRange、int maxRange)?但我需要“电气”在其中?我想?我不这么认为,如果你观察到,参数名称会自我清楚地描述它期望的是partNumber。我得到错误HighvoltageComponent。java:9:找不到符号符号:变量vs onNumberlet我们对这个答案添加一些解释可能会使这个答案更好。
public class HighvoltageComponent extends ElectricalComponent
{ 

  public HighvoltageComponent(  String partNumber, int versionNumber)
  {

    super( partNumber, versionNumber, 50000 ,200000 ); 

  }


}