| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 455 人关注过本帖
标题:请教实现过程
只看楼主 加入收藏
嶄ぎ儱
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-4-21
收藏
 问题点数:0 回复次数:4 
请教实现过程

public class Think
{
private int petalCount = 0;
private String s = new String("null");
Think(int petals)
{
petalCount = petals;
System.out.println(
"Constructor w/ int arg only, petalCount= "
+ petalCount);
}
Think(String ss)
{
System.out.println(
"Constructor w/ String arg only, s=" + ss);
s = ss;
}
Think(String s, int petals)
{
this(petals);

this.s = s;
System.out.println("String & int args");
}
Think()
{
this("hi", 47);
System.out.println(
"default constructor (no args)");
}
void print()
{

System.out.println(
"petalCount = " + petalCount + " s = "+ s);
}
public static void main(String[] args) {
Think x = new Think();
x.print();
}
}
谁能和说下这个实现的过程~~~~

搜索更多相关主题的帖子: public 红绿灯 color 珠海 图片 
2007-05-03 16:27
嶄ぎ儱
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-4-21
收藏
得分:0 

因为我觉得只能打出 0=0 null=null;
不过结果不是这样~~~结果是:
Constructor w/ int arg only, petalCount= 47

String & int args

default constructor (no args)

petalCount = 47 s = hi
为什么啊?


别人不给你机会,自己去创造机会.
2007-05-03 16:44
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
收藏
得分:0 
Think x = new Think();
调用构造函数Think(),运行到this("hi", 47);调用构造函数Think(String s, int petals)。再运行到this(petals);调用构造函数Think(int petals).其中不需要再调用其他构造函数了,运行其中的代码,然后按照刚才的次序倒着回去。最后调用print()方法输出。
我的理解,不对的地方请指教
2007-05-03 16:53
嶄ぎ儱
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-4-21
收藏
得分:0 

这样理解是对的!
那是不是THIS这个就相当于调用呢?


别人不给你机会,自己去创造机会.
2007-05-03 16:57
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
收藏
得分:0 

这里this就是调用构造函数用的
感觉和super调用父类的构造函数一样
但是我看的core java上说两者有不同,没搞太明白,继续研究

2007-05-03 19:16
快速回复:请教实现过程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016452 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved