java - 类继承

标签 java inheritance

我有以下有效的代码:

public class Bicycle {

    int cadence = 0;
    int speed = 0;
    int gear = 1;

    void changeCadence(int newValue){
        cadence = newValue;
    }

    void changeGear(int newValue){
        gear = newValue;
    }

    void speedUp(int increment){
        speed = speed + increment;
    }

    void applyBrakes(int decrement){
        speed = speed - decrement;
    }

    void printStates(){
        System.out.println("cadence: " + cadence + "; speed: " + speed + "; gear: " + gear);
    }

    public static void main(String[] args) {

        // Create two different 'Bicycle' objects:
        Bicycle bike1 = new Bicycle();
        Bicycle bike2 = new Bicycle();

        // Invoke methods on the two new objects:
        bike1.changeCadence(50);
        bike1.speedUp(10);
        bike1.changeGear(2);
        bike1.printStates();

        bike2.changeCadence(45);
        bike2.speedUp(15);
        bike2.changeGear(2);
        bike2.changeCadence(40);
        bike2.speedUp(10);
        bike2.changeGear(3);
        bike2.printStates();
    }

}

然后我想要一个名为“MountainBike”的新类继承自“Bicycle”类,我编写了以下新代码:

package mountainbike;

public class MountainBike extends Bicycle {

    public static void main(String[] args) {
        // TODO code application logic here
    }

}

但在这里我在 public class MountainBike extends Bicycle { 行上得到一个错误指示,说 cannot find symbol class Bicycle

我想我必须在某处放置一个“导入”,但我到底应该导入什么?

最佳答案

导入包含 Bicycle 类的包,将其添加到您的 MauntainBike 代码中:-

package mountainbike;

import packageName.Bicycle;

public class MountainBike extends Bicycle {

    public static void main(String[] args) {
        // TODO code application logic here
    }

}

或者如果没有 Bicycle 类的包(默认包),将 Bicycle 添加到与 MountainBike 相同的包中

package mountainbike;

public class Bicycle {
.
.
.
}

现在 Bicycle 在同一个包中,因此对 MountainBike 类可见。

关于java - 类继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24261719/

相关文章:

java - com.sun.mirror.apt API

java - 通过关闭所有堆叠的 Activity 来启动新的 Activity

java - java中如何打印输出

c++ - 继承和派生属性在 C++ 中消失

java - Spring继承,多对多,实体映射中的重复列

java - 使用 intent 的 Android 6.0 instagram 图像共享不起作用

java - 检查双重平等是否安全?

ruby-on-rails - 如何从 ruby​​ 父类(super class)中的方法访问子类中的当前 __FILE__

c++ - 继承:动态派生类成员与静态派生类成员

python - 为什么 Python 中的数据类需要重写