首页
学习
活动
专区
圈层
工具
发布

类继承
EN

Stack Overflow用户
提问于 2014-06-17 18:42:17
回答 5查看 145关注 0票数 3

我有以下代码,可以正常工作:

代码语言:javascript
复制
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',并且我写了以下新代码:

代码语言:javascript
复制
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

我想我必须在某个地方放一个" import“,但是我到底应该导入什么呢?

EN

回答 5

Stack Overflow用户

发布于 2014-06-17 18:52:23

导入包含自行车类的包,将以下代码添加到您的MauntainBike代码中:-

代码语言:javascript
复制
package mountainbike;

import packageName.Bicycle;

public class MountainBike extends Bicycle {

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

}

或者,如果没有用于自行车类的包(默认包),请将自行车添加到与MountainBike相同的包中

代码语言:javascript
复制
package mountainbike;

public class Bicycle {
.
.
.
}

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

票数 2
EN

Stack Overflow用户

发布于 2014-06-17 18:48:11

将Bicycle类和MountainBike类放在同一个包中,可能是登山车包。或者在定义MountainBike类的文件上导入Bicycle类的包。

代码语言:javascript
复制
package mountainbike;
import bicycle.*; //or import bicycle.Bicycle;

public class MountainBike extends Bicycle {

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

}

还要检查文件夹结构。自行车类应该在“自行车”文件夹中,它对应于自行车包,而MountainBike类应该在“登山自行车”文件夹中,它对应于“登山自行车”包。你的项目结构应该是类似的。

票数 0
EN

Stack Overflow用户

发布于 2014-06-17 18:48:55

你的MountainBike包和Bicycle包是一样的吗?如果没有,请在您的MountainBike类中导入Bicycle

代码语言:javascript
复制
import <bicycle-package>.Bicycle;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24261719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档