Java 继承导致未解析的导入

Java 继承导致未解析的导入,java,inheritance,Java,Inheritance,我写了一个程序,应该使用驱动程序让狗说话,但是我在第8行的DogTest类中遇到了一个错误,它说导入狗无法解决。我应该如何解决这个问题 // **************************************************************** // Dog.java // // A class that holds a dog's name and can make it speak. // // *************************

我写了一个程序,应该使用驱动程序让狗说话,但是我在第8行的DogTest类中遇到了一个错误,它说导入狗无法解决。我应该如何解决这个问题

// ****************************************************************
// Dog.java
//
// A class that holds a dog's name and can make it speak.
//          
// ****************************************************************
public class Dog
{
    protected String name;

    // ------------------------------------------------------------
    // Constructor -- store name
    // ------------------------------------------------------------
    public Dog(String name)
    {
        this.name = name;
    }


    // ------------------------------------------------------------
    // Returns the dog's name
    // ------------------------------------------------------------
    public String getName()
    {
        return name;
    }

    // ------------------------------------------------------------
    // Returns a string with the dog's comments
    // ------------------------------------------------------------
    public String speak()
    {
        return "Woof";
    }

}

// ****************************************************************
// DogTest.java
//
// A simple test class that creates a Dog and makes it speak.
//          
// ****************************************************************

import Dog;

public class DogTest
{
    public static void main(String[] args)
    {
        Dog dog = new Dog("Spike");
        System.out.println(dog.getName() + " says " + dog.speak());

    }
}

public class Labrador extends Dog
{
    private String color; //black, yellow, or chocolate?
    private int breedWeight = 75;

    public Labrador(String name,  String color)
    {
        super(name);
        this.color = color;
    }

    // ------------------------------------------------------------
    // Big bark -- overrides speak method in Dog
    // ------------------------------------------------------------
    public String speak()
    {
        return "WOOF";
    }


    // ------------------------------------------------------------
    // Returns weight
    // ------------------------------------------------------------
    public int avgBreedWeight()
    {
        return breedWeight;
    }


}
// ****************************************************************
// Yorkshire.java
//
// A class derived from Dog that holds information about
// a Yorkshire terrier. Overrides Dog speak method.
//          
// ****************************************************************


public class Yorkshire extends Dog
{

    public Yorkshire(String name)
    {
        super(name);
    }


    // ------------------------------------------------------------
    // Small bark -- overrides speak method in Dog
    // ------------------------------------------------------------
    public String speak()
    {
        return "woof";
    }

}

您不需要在同一个包中导入类。

摆脱
导入狗。你不需要它。只有在引用不同包(除了
java.lang
)中的类时,才需要
import
,并且所有类都在默认包中,因此不需要
import
。除非
Dog
类在不同包中,否则不必导入它。考虑到我在您提供的代码中没有看到包语句,我猜情况就是这样。