java代码的问题。我找不到我的错误。狗和猫是不受约束的

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类的顶部导入它们的包

问题是编译器不知道Dog或Cat类在哪里。以下是告诉编译器如何创建新狗或新猫的步骤

  • 确保项目中有Dog.java和Cat.java文件。即使它们与您的PetsDriver位于同一文件夹中,编译器也不会知道如何编译它们,除非您将它们添加到netbeans项目中
  • 确保至少Dog.java包含

    公共类狗{}

    而Cat.java包含

    public class Cat{}

  • 如果Dog.java或Cat.java顶部的包声明不是

    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());
        }
    }