java - 如何在同一包中的类上使用扩展?

标签 java package extends

我在路径“/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

此外,对于您的情况,我将 CatAnimal 移至 model 包,并在父目录中创建了 Test 类,因此命令如下所示:

javac Test.java model/*.java

您可以根据需要更改model,并且在Test.java文件目录中调用javac命令。

关于java - 如何在同一包中的类上使用扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58847205/

相关文章:

java - 如何在 JPanel 上添加选项卡

go - 您如何查看已安装的导入包中的 .go 文件?

java oop : Two extended classes that need to be called regardless of type

java - 如何在 C++ 中实现 MyClass<T extends OtherClass>?

Scala:扩展参数化类时处理不同的构造函数

java - 从 Excel 工作表中读取随机单元格值

java - 存储字符串数组唯一列表的最佳方式

Java 包包含其他文件中的方法

package - 将旧版本的 Ocaml 添加到 Opam

java - 从 Jsoup 中的 div 内部获取 <p> 值不起作用