为什么创建一个对象需要两个类

时间:2014-12-11 06:56:47

标签: java class object

我是java的新手,当我研究这个http://docs.oracle.com/javase/tutorial/java/concepts/class.html时,我有一个疑问。那是。

如果我们想创建对象需要创建两个类还是需要创建一个类?

因为在此应用程序中,创建了class Bicycleclass BicycleDemo

任何人都可以指导我解决这个微不足道的问题吗?

提前致谢。

这是代码;

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

班级BicyleDemo:

class BicycleDemo {
    public static void main(String[] args) {

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

        // Invoke methods on 
        // those objects
        bike1.changeCadence(50);
        bike1.speedUp(10);
        bike1.changeGear(2);
        bike1.printStates();

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

3 个答案:

答案 0 :(得分:0)

BicycleDemo仅用于测试Bicycle课程。您永远不会创建BicycleDemo类的实例(即对象)。

因此,您并非真正需要BicycleDemo。您可以将主要方法从BicycleDemo移至Bicycle

答案 1 :(得分:0)

类就像一个形状。你必须通过新的形容词。 BicycleDemo只是主要的方法持有者,你可以在其中使用自行车。你可以简单地将main移动到Bicycle类,但不推荐使用它。(主要方法是你的应用程序的入口点)

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 
        // those objects
        bike1.changeCadence(50);
        bike1.speedUp(10);
        bike1.changeGear(2);
        bike1.printStates();

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

答案 2 :(得分:-1)

我们可以创建Object使用一个或两个类,这取决于你喜欢什么。在spring框架中,类是由其他类创建的,如果使用单例的设计模式,则只能使用一个类。