如何在同一个包中对 class 使用扩展?
How do I use extends on a class from within same package?
我在路径“/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 class 并毫无问题地创建 Animal 实例,到这里为止都很好。
现在我想让我的 Cat.java 成为继承自 Animal 的 class,但是如果我在 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
class,因此命令看起来像:
javac Test.java model/*.java
您可以根据需要更改 model
,javac
命令在 Test.java
文件的目录中被调用。
我在路径“/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 class 并毫无问题地创建 Animal 实例,到这里为止都很好。
现在我想让我的 Cat.java 成为继承自 Animal 的 class,但是如果我在 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
class,因此命令看起来像:
javac Test.java model/*.java
您可以根据需要更改 model
,javac
命令在 Test.java
文件的目录中被调用。