一个奇怪的问题,来自 Thinking in Java 3rd

wangangus 2004-03-24 12:06:37
原题是这样的:
Create a class without a constructor, and then create an object of that class in main( ) to verify that the default constructor is automatically synthesized.

怎样才能知道一个类的默认的构造函数(也就是不定义)是有运行的呢?
...全文
79 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nighthawk 2004-03-24
  • 打赏
  • 举报
回复
对象创建成功了,构造函数不就执行了吗?
sandyen 2004-03-24
  • 打赏
  • 举报
回复
一般你定义的类都是由默认的构造器的,这是编译器在编译的时候给你创建的
但是如果你在你的类里面自己定义了由参数的构造器,但是你再用的时候用没有参数的构造器的(也就是你说的默认的)时候,那样编译器是不会给你生成
jackal81 2004-03-24
  • 打赏
  • 举报
回复
要调用一个类都是从构造函数开始的,如果没有构造函数(当然这种情况不存在)那么这个类是不会被调用的,如果你没有定义构造函数那么java会给你构造一个默认的构造函数也就是当你创建类的实例时,java会检测你所调用的构造函数,如果没有他会自动建立默认构造函数。如果有它会按你所调用的构造函数来实例这个类,这时默认构造函数就不好使了(除非你显示的定义默认构造函数)。
wangangus 2004-03-24
  • 打赏
  • 举报
回复
但是题目是这样要求的,我也不太明白它的意思。
其实楼上二位的意思我也了解。
但按题目的要求,它应该是要先建一个类(构造函数是默认的),然后建一个关于这个类的实例,最后更进一步去“verify”这个实例的默认构造函数是执行了的。这里我就不明白了。

待会儿我还有一道题是关于garbage collector机制的。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧