java代码的问题。我找不到我的错误。狗和猫是不受约束的
问题是编译器不知道Dog或Cat类在哪里。以下是告诉编译器如何创建新狗或新猫的步骤java代码的问题。我找不到我的错误。狗和猫是不受约束的,java,polymorphism,netbeans-8,Java,Polymorphism,Netbeans 8,问题是编译器不知道Dog或Cat类在哪里。以下是告诉编译器如何创建新狗或新猫的步骤 确保项目中有Dog.java和Cat.java文件。即使它们与您的PetsDriver位于同一文件夹中,编译器也不会知道如何编译它们,除非您将它们添加到netbeans项目中 确保至少Dog.java包含 公共类狗{} 而Cat.java包含 public class Cat{} 如果Dog.java或Cat.java顶部的包声明不是 package练习3 然后,您必须在PetsDriver1类的顶部导入它们的包
公共类狗{}
而Cat.java包含
public class Cat{}
package练习3代码>
然后,您必须在PetsDriver1类的顶部导入它们的包,以便编译器知道如何在Exercise3包之外查找Cat或Dog。(即,如果Dog.java的第一行是“package Pet”;那么在PetsDriver1.java中,在“import java.util.Scanner”之后放上“import Pet.Dog;”
请在你的问题中提出一个问题。请出示所有代码——你的狗和猫分类代码在哪里?它们存在吗?把你的狗、猫放在包裹里练习3;或者将Dog和Cat类导入到此类中。请看下面我的代码片段,它很可能是包声明中的错误;首先,我会将dog和cat类放在与PetsDriver1相同的目录中,看看它是否编译,然后我会编写包声明。
package Exersise3;
import java.util.Scanner;
public class PetsDriver1 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
Object obj;
System.out.print("Which type of pet do you prefer?\n"
+ "Enter d for dogs or c for cats: ");
if (stdIn.next().equals("d")) {
obj = new Dog();
} else {
obj = new Cat();
}
System.out.println(obj.toString());
}
}