Topic: 关于默认构建器的程序解释

  Print this page

1.关于默认构建器的程序解释 Copy to clipboard
Posted by: yujian
Posted on: 2006-01-09 21:25

默认构建器是没有自变量的。它们的作用是创建一个“空对象”。若创建一个没有构建器的类,则编译程序会帮我们自动创建一个默认构建器。例如:

//: DefaultConstructor.java

class Bird {
int i;
}

public class DefaultConstructor {
public static void main(String[] args) {
Bird nc = new Bird(); // default!

}
} ///:

结果:



---------------------------
对于下面这一行:
new Bird();
它的作用是新建一个对象,并调用默认构建器——即使尚未明确定义一个象这样的构建器。若没有它,就没有方法可以调用,无法构建我们的对象。然而,如果已经定义了一个构建器(无论是否有自变量),编译程序都不会帮我们自动合成一个:

class Bush {
Bush(int i) {}
Bush(double d) {}
}

现在,假若使用下述代码:
new Bush();
编译程序就会报告自己找不到一个相符的构建器。就好象我们没有设置任何构建器,编译程序会说:“你看来似乎需要一个构建器,所以让我们给你制造一个吧。”但假如我们写了一个构建器,编译程序就会说:“啊,你已写了一个构建器,所以我知道你想干什么;如果你不放置一个默认的,是由于你打算省略它。”

---------------

qq:249323079
java爱好者有兴趣交流
-------------------------------

2.Re:关于默认构建器的程序解释 [Re: yujian] Copy to clipboard
Posted by: ranchgirl
Posted on: 2006-01-09 23:25

Can you do a search instead writing a lesson????

Why you post your two almost the same posts twice?? You are more important than others????

3.Re:关于默认构建器的程序解释 [Re: yujian] Copy to clipboard
Posted by: yujian
Posted on: 2006-01-10 08:59

我是一个java的初学者 这是自己在学习中理解的东西 拿出来和大家一起分享和讨论 谢谢

4.Re:关于默认构建器的程序解释 [Re: yujian] Copy to clipboard
Posted by: why
Posted on: 2006-01-10 11:41

Thanks for 分享和讨论 but I don't think it's a good idea to put them in several (4?) topics.
Please open a new topic and post your 在学习中理解的东西, at least for all these about 构建器. (and I'll remove these topics)

5.Re:关于默认构建器的程序解释 [Re: yujian] Copy to clipboard
Posted by: 轻薄的假象
Posted on: 2006-01-10 21:59

很宝贵的学习经验,谢谢你的分享


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923