黑马程序员技术交流社区
标题:
求助构造函数形式和void的区别
[打印本页]
作者:
黑马-郑鹏
时间:
2012-8-16 21:05
标题:
求助构造函数形式和void的区别
返回值void代表不需要返回数据类型,而构造函数连void都没有。既然void代表不需要返回数据类型,那么构造函数为什么不直接也用void呢?
那样不更好吗?而为什么还要弄个构造函数那样的形式呢?
作者:
方志亮
时间:
2012-8-16 21:09
构造方法是在产生对象时被java系统自动调用的,我们不能在程序中像调用其他方法一样去调用构造方法(必须通过关键词new自动调用它)。
void代表不需要返回数据类型 是对象调用的
构造方法是jvm调用的
作者:
杨彪
时间:
2012-8-16 21:20
(1)
构造方法是用于创建对象,并进行初始化值的。
(2)构造方法的特点:
A:和类名相同
B:没有返回类型
C:没有返回值
(3)构造方法的注意事项:
A:如果一个自定义类没有构造方法,系统会默认给出一个无参构造方法。
B:如果一个自定义类提供了构造方法,那么,系统将不再给出无参构造方法。
这个时候,你可以不使用无参构造方法。
如果你想使用,那么,就手动给出无参构造方法。
建议:一般情况下,我们的自定义类都要手动给出无参构造方法。
(4)构造方法和成员方法的区别
A:格式区别
构造方法和类名相同,并且没有返回类型,也没有返回值。
普通成员方法可以任意起名,必须有返回类型,可以没有返回值。
B:作用区别
构造方法用于创建对象,并进行初始化值。
普通成员方法是用于完成某个功能的。
C:调用区别
构造方法是在创建对象时,用new调用的。
普通成员方法是由创建的对象调用的。
作者:
黑马-郑鹏
时间:
2012-8-16 21:23
那既然void代表不需要返回值,那么它为什么不直接把void给省略了呢?存在void是不是为了区别对象调用和jvm调用呢?
因为
class Demo
{
Demo(){
System.out.println("hello");
}
public static void main(String[] args)
{
new Demo();
}
}
输出结果为 hello
class Demo
{
void Demo(){
System.out.println("hello");
}
public static void main(String[] args)
{
new Demo();
}
}
没有输出结果
class Demo
{
void Demo(){
System.out.println("hello");
}
public static void main(String[] args)
{
new Demo().Demo();
}
}
输出结果为:hello
作者:
黑马-郑鹏
时间:
2012-8-18 13:31
【以解决】
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2