黑马程序员技术交流社区
标题:
关于构造函数和void的一些疑问。
[打印本页]
作者:
疯狂的学渣
时间:
2014-12-21 12:42
标题:
关于构造函数和void的一些疑问。
最近看书,看到构造函数,然后看着书上的内容敲了一遍,检查了好几遍,都敲不出结果,就是敲不出构造函数。
最后发现,书上class的前面,只有public的修饰符,而我习惯性地,加上了public void。
那么问题来了,void按照我的理解,是无返回值的意思,怎么就禁止的构造函数的输出呢?
小弟的还在学基础部分,可能问题有点简单,求给点建议。
class Demo1
{
public static void main(String[] args)
{
System.out.println("Starting...");
Duck d = new Duck();
}
}
class Animal
{
public void Animal()
{
System.out.println("Making an animal.");
}
}
class Duck extends Animal
{
public void Duck()
{
System.out.println("Making a duck.");
}
}
111.PNG
(16.69 KB, 下载次数: 68)
下载附件
2014-12-21 12:41 上传
222.PNG
(16.5 KB, 下载次数: 72)
下载附件
2014-12-21 12:41 上传
作者:
caobin
时间:
2014-12-21 12:45
你加上了void这就不叫构造函数了吧
作者:
lwh316658735
时间:
2014-12-21 12:55
构造函数是在创建对象时调用,如果java开发人员设计了返回值,难道你一个引用类型还可以接收两个数据
作者:
双鱼座程序员
时间:
2014-12-21 13:15
class Demo1
{
public static void main(String[] args)
{
System.out.println("Starting...");
Duck d = new Duck();
}
}
class Animal
{
//构造函数不用定义返回值类型。void
public Animal()
{
System.out.println("Making an animal.");
}
}
class Duck extends Animal
{
public Duck()
{
System.out.println("Making a duck.");
}
}
复制代码
作者:
zqbemail
时间:
2014-12-21 13:32
构造函数不需要void,同是void类型并不是没有返回值,而是返回空。
也就是所有的void方法最后,JAVA会默认增加一个return ; 你可以加上试试。
因为构造函数不能有返回值,是对象初始化的过程,所以不能存在return语句。
这是我的理解,供你参考。
作者:
jxlovqqvo
时间:
2014-12-21 13:52
构造方法规定的不能有返回值,void也不行,因为就不能这么写,写了就变成了方法
作者:
ben_vs_cong
时间:
2014-12-21 13:58
你应该是没有弄明白构造方法是什么,你的构造方法格式不对,固定格式是 权限修饰符 方法名和类名相同。它的格式跟普通的方法不一样的。而且你不写也是有默认的构造方法,而且你只要在构造方法主体什么都不写也是可以创建对象的。那样就可以不输出。总之就是构造函数的格式不是你那样的。记住格式就行了,其他都跟函数一样,只是没有返回值类型。
作者:
qowoeo7538
时间:
2014-12-21 14:42
构造函数不允许有返回值的。
作者:
程梦真
时间:
2014-12-21 14:55
加上了void就是不是构造方法 , 一定要谨记构造方法的格式。
作者:
woaixuexi
时间:
2014-12-21 15:34
看到你这个题,我又重温了构造函数:)
作者:
疯狂的学渣
时间:
2014-12-22 22:44
谢谢各位的回答,现在理解好多了,我的理解是,构造函数需要返回的是对象,所有不能加void和return。
作者:
叫我王大锤
时间:
2014-12-22 22:47
4楼解释 很详细
作者:
qowoeo7538
时间:
2014-12-22 23:57
构造函数没有VOID的。
作者:
7788665544
时间:
2014-12-22 23:59
构造函数加了void就是普通函数了。。
作者:
kerner
时间:
2014-12-23 00:20
构造函数如果有返回值,构造函数是编译器调用的,编译器该如何处理返回值?
作者:
呢?
时间:
2014-12-23 00:25
方法名必须一致,没有返回值类型,没有返回值,才叫构造函数。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2