我在同一个文件夹和包中有两个类。它们的位置是code / src / enemy。这是两个类:
package src.enemy;
public class Enemy{
String name = "";
float maxHealth = 100;
float health;
public Enemy(String name) // This made me laugh more than it should
{
this.name = name;
this.health = this.maxHealth;
}
}
和
package src.enemy;
public class baseEnemy extends Enemy{
public baseEnemy(String name)
{
super(name);
}
}
出于某种原因,当我尝试编译它们时,我得到:
:3: error: cannot find symbol
public class baseEnemy extends Enemy{
symbol: class Enemy
我正在使用Javac进行编译。我不确定为什么baseEnemy在同一个文件夹和包装中可以继承敌人。
答案 0 :(得分:0)
这是因为你的baseEnemy Class中没有构造函数。如果您将其更改为:
公共阶级敌人{
String name = "";
float maxHealth = 100;
float health;
public Enemy(String name) // This made me laugh more than it should
{
this.name = name;
this.health = this.maxHealth;
}
public Enemy() {
}
}
然后
public class baseEnemy extends Enemy {
public baseEnemy(String name) {
super(name);
}
}
它能够提供名称。理想情况下,0级类应始终具有0参数构造函数:)。希望有所帮助。
答案 1 :(得分:0)
javac ~/Documents/Assignments/Ass4/Code/src/enemy/Enemy.java.
没有。你应该在~/Documents/Assignments/Ass4/Code
,并发出
javac src/enemy/Enemy.java
和其他类似。
答案 2 :(得分:0)
(代表作者提问)。
所以最初我制作了目录,“Code”有一个大写字母c。我然后看到了这个并用一个小c创建了一个新文件夹。我没有意识到的是我的原子代码引用了大写C文件夹中的那个。