问答详情
源自:8-6 Java 中的构造方法

构造方法无返回值,那void不就是无返回吗,为什么写上void就出错了

00000

提问者:1个有梦想的人 2019-07-30 19:07

个回答

  • 慕运维8340830
    2019-09-16 15:15:56

    我也不懂啊,什么时候加void啊,构造方法跟之前的public void show();有什么不同啊,为啥有的加void,有的不加啊

  • qq_慕粉0176318
    2019-07-30 19:57:33

    以下解释摘自<<Think in java>> 中文版第2版,
        “构造函数是一种很特殊的函数,因为他没有返回值。这和‘返回值为void’有极大的差别。返回void时,一般函数并不返回任何东西,但是一般的函数能够选择是否要返回些什么东西。构造函数则绝对不返回任何东西,而且你也没有任何选择。如果它有一个返回值,而且你有权利选择你自己的返回型别(return type),编译器势必得通过某种方式来知道如何处理那个返回值。”

         void 其实有返回值,但是函数不返回任何东西,一般函数能够选择要返回什么东西

    构造函数是没有返回值,也就是说绝不能返回任何东西,并且你没有任何选择,假设构造函数有返回值,编译器应该知道能够处理哪个返回值,这不行,因为构造函数在创建对象时调用