我在路径“/utilities/pets/”中有两个 .java 文件:
/utilities/pets/Animal.java
/utilities/pets/Cat.java
路径顶部有一个 Test.java 文件。
在我的 Animal.java 文件中有这样的代码:
package utilities.pets;
public class Animal implements Cloneable {
//bunch of private attributes and public constructors and setters-getters
}
从 Test.java 中,我可以导入 Animal 类并创建 Animal 实例,没有任何问题,直到这里一切都很好。
现在我想让我的 Cat.java 成为一个继承自 Animal 的类,但是如果我在 Cat.java 中键入以下代码:
package utilities.pets;
public class Cat extends Animal {
}
编译器告诉我它找不到符号 Animal 如果我尝试这个也会发生同样的情况
package utilities.pets;
public class Cat extends utilities.pets.Animal {
}
我不知道如何解决这个问题...我们将不胜感激。
最佳答案
要通过命令行编译多个文件,您必须提供所有必需的 .java
文件,例如:
javac Cat.java Animal.java
在同一包中时,您可以使用 *
通配符,它将选取当前目录中的所有必需文件:
javac *.java
此外,对于您的情况,我将 Cat
和 Animal
移至 model
包,并在父目录中创建了 Test
类,因此命令如下所示:
javac Test.java model/*.java
您可以根据需要更改model
,并且在Test.java
文件目录中调用javac
命令。
关于java - 如何在同一包中的类上使用扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58847205/