带有文件名的子类中的奇怪错误

时间:2016-02-17 15:55:50

标签: java inheritance extends

我的代码:

public class ArmyDivison extends DragonArmy {

  public ArmyDivison(String name) {
    super(name);
    for (int i = 0; i < 6; i++) {
      for (int j = 0; j < 5; j++) {
        army.add(new Dragon(i,j,true));
        army.add(new Dragon(i,j,false));
      }
    }
  }
}

错误讯息:

ArmyDivision.java:1: error: class ArmyDivison is public, should be declared in a file named ArmyDivison.java
public class ArmyDivison extends DragonArmy {
       ^
1 error

文件名是ArmyDivison.java,顺便提醒任何人,DragonArmy及其类文件存在且位于同一文件夹中。

2 个答案:

答案 0 :(得分:2)

文件名是Army Division ,但您的班级名称是Army Divison 。修正类名拼写错误,应该没问题。文件名和公共类名称需要在Java中匹配:

ArmyDivision.java:1: error: class ArmyDivison is public,

答案 1 :(得分:2)

赞同@Eran's评论。如果他想为自己做出回答,我会删除我的。

  
ArmyDivision.java:1:错误:类ArmyDivison是公共的,应该在名为ArmyDivison.java的文件中声明   公共级别的ArmyDivison延伸DragonArmy {

这是一个错字

  • ArmyDivision:您的文件名
  • ArmyDivison:您的班级名称(请注意缺少“我”)

PS:你在创建这个问题时犯了同样的错误,因为你的声明如下:

  

文件名是ArmyDivison.java,顺便提醒任何人

与错误冲突。 :)