求问Java构造函数问题,这个this(),为什么没有调用前面的无参函数.

程序:classPerson02{Stringname;intage;publicPerson02(){System.out.println("ThereisnoPera... 程序:
class Person02{ String name; int age; public Person02() { System.out.println("There is no Perameter"); } public Person02(String name,int age) { this(); this.name=name; this.age=age; System.out.println("This is Person02(2 Perameters)"); }}
public class TestJavaThis1P170 {
public static void main(String[] args) { new Person02("zhangsan",25); }}

运行结果如图:

为什么结果没有“There is no Perameter”这句话?哪里错了?谢谢。
展开
 我来答
xiangqinxian
2013-06-07 · TA获得超过233个赞
知道小有建树答主
回答量:362
采纳率:0%
帮助的人:282万
展开全部
不可能。

this(); //明确调用了。
....
System.out.println("This is Person02(2 Perameters)");

所以只有一个原因:你的编译有问题。clean rebuild
更多追问追答
追问
什么不可能啊?结果运行是输出两行还是一行啊?
追答
当然是两行。不是已经说了吗。
哈哈哈,我说话有那么难懂吗?哈哈
恨_别离
2013-06-07
知道答主
回答量:23
采纳率:0%
帮助的人:18.5万
展开全部
没错,因为你没调用无参构造方法,你直接调用的是有参的构造方法、
虽然默认是调用无参构造方法,但是当你声明了有参构造方法后,调用有参构造方法不会调用无参构造方法
追问
可是书上写的运行结果是包含上面那一行的,一共两行。
追答
你代码没错,重新启动myeclipse或电脑
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式