Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这段代码中有构造函数吗?_Java_Constructor - Fatal编程技术网

Java 这段代码中有构造函数吗?

Java 这段代码中有构造函数吗?,java,constructor,Java,Constructor,这段代码中有构造函数吗?此代码中的哪个部分是构造函数 class Bicycle { int cadance = 0; int speed = 0; int gear = 0; void changeCadance(int changeCadence) { cadance = changeCadence; } void changeGear(int changeGear) { gear = changeGear;

这段代码中有构造函数吗?此代码中的哪个部分是构造函数

class Bicycle {
    int cadance = 0;
    int speed = 0;
    int gear = 0;

    void changeCadance(int changeCadence) {
        cadance = changeCadence;
    }

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

    void changeSpeed(int changeSpeed) {
        speed = changeSpeed;
    }

    void printState() {
        System.out.print("Cadance = "+cadance);
    }
}

这里有一个隐含的默认构造函数。它从来没有被详细说明过,但是IDE和编译器理解它就在那里。非静态类通常被理解为具有构造函数,因此如果没有显式创建构造函数,则使用默认构造函数。它不接受任何参数,除了使用显式提供的属性值初始化类之外,实际上不做任何事情。有时,您可以只使用默认值

为了获得更多的信息,我正在链接维基百科的文章,因为我认为它在跨多种语言解释方面做得相当好

从本质上讲,如果类中没有显式给出无参数构造函数,则默认构造函数由编译器提供(IDE通常也允许您调用它)。因此,如果我编写了一个接受和参数的构造函数,但我没有编写不接受参数的构造函数,编译器仍然会提供一个


这有点泛化,因为有些语言有点不同,但我认为大多数语言都是这样的。

这里有一个隐含的默认构造函数。它从来没有被详细说明过,但是IDE和编译器理解它就在那里。非静态类通常被理解为具有构造函数,因此如果没有显式创建构造函数,则使用默认构造函数。它不接受任何参数,除了使用显式提供的属性值初始化类之外,实际上不做任何事情。有时,您可以只使用默认值

为了获得更多的信息,我正在链接维基百科的文章,因为我认为它在跨多种语言解释方面做得相当好

从本质上讲,如果类中没有显式给出无参数构造函数,则默认构造函数由编译器提供(IDE通常也允许您调用它)。因此,如果我编写了一个接受和参数的构造函数,但我没有编写不接受参数的构造函数,编译器仍然会提供一个

这有点泛化,因为有些语言有点不同,但我认为大多数都是这样的。

构造函数是一个隐含的默认构造函数

Java(和其他语言)的惯例是,如果没有定义其他构造函数,则提供空构造函数(没有参数)

值得注意的是,只要添加任何带参数的构造函数,那么隐含的默认构造函数就不再可用。

该构造函数是一个隐含的默认构造函数

Java(和其他语言)的惯例是,如果没有定义其他构造函数,则提供空构造函数(没有参数)


值得注意的是,只要添加任何带参数的构造函数,那么隐含的默认构造函数就不再可用。

什么是默认构造函数。它是在java库中预定义的吗?实际上它只是基于约定的。编译器知道,如果没有提供,那么它将创建一个只执行实例和初始化类的类。编译器实际上做了很多这方面的工作。在某些语言中,您可以编写诸如“public bool IsActive{get;set;}”之类的内联属性声明,编译器会将其扩展为完整的属性块,并使用私有支持字段等等。约定是一个强大的工具,其中有一个每个人都使用的隐含规则,并且编译器理解在使用该规则时它应该做些什么。感谢它帮助我可视化构造函数。太棒了!如果它解决了您的问题,请务必将其标记为答案。如果它增加了您对某个问题的了解,请用upvote标记它(如果您没有这样做)。这有助于其他人更快地找到问题的答案。什么是默认构造函数。它是在java库中预定义的吗?实际上它只是基于约定的。编译器知道,如果没有提供,那么它将创建一个只执行实例和初始化类的类。编译器实际上做了很多这方面的工作。在某些语言中,您可以编写诸如“public bool IsActive{get;set;}”之类的内联属性声明,编译器会将其扩展为完整的属性块,并使用私有支持字段等等。约定是一个强大的工具,其中有一个每个人都使用的隐含规则,并且编译器理解在使用该规则时它应该做些什么。感谢它帮助我可视化构造函数。太棒了!如果它解决了您的问题,请务必将其标记为答案。如果它增加了您对某个问题的了解,请用upvote标记它(如果您没有这样做)。这有助于其他人更快地找到问题的答案。