这段java代码, 通过一个模拟时钟的程序,熟悉构造方法重载, 可是看不懂啊 麻烦高手帮忙解释下

publicclassTime{privateinthour;privateintminute;privateintsecond;publicTime(){this(0,... public class Time{
private int hour;
private int minute;
private int second;
public Time(){
this(0,0,0);
}
public Time(int h){
this(h,0,0);
}
public Time(int h,int m){
this(h,m,0);
}
public Time(int h,int m,int s){
setTime(h,m,s);
}
public Time(Time time){
this(time.getHour(),time.getMinute(),time.getSecond());
}
public void setTime(int h,int m,int s){
setHour(h);
setMinute(m);
setSecond(s);
}
public void setHour(int h){
hour=((h>=0&&h<24)?h:0);
}
public void setMinute(int m){
minute=((m>=0&&m<60)?m:0);
}
public void setSecong(int s){
second=((s>=0&&s<60)?s:0);
}
public int getHour(){
return hour;
}
public int getMinute(){
return minute;
}
public int getSecond(){
return second;
}
public String toUniversalString(){
return String.format("%d:%02d:%02d",getHour(),getMinute(),getSecond());
}
public String toString(){
return String.format("%d:%02d:%02d%s",((getHour()==0||getHour()==12)?12:getHour()%12),getMinute(),getSecond(),(getHour()<12?"AM":"PM"));
}
}

什么是构造方法,,,还有什么叫做重载,干什么用的

谢谢
展开
 我来答
adalf90
2011-03-24 · 超过13用户采纳过TA的回答
知道答主
回答量:20
采纳率:0%
帮助的人:8.9万
展开全部
//这是新建了一个public类,名称为Time
public class Time{
//其中有三个变量,表示时分秒
private int hour;
private int minute;
private int second;

//此处即为空参数的构造函数,即当声明这个类的对象时,怎样初始化这个对象里面的值
//每个对象都表示个时间。
//这个构造函数调用了这个类里面的有三个参数的构造函数。
public Time(){
this(0,0,0);
}
//此处为一个参数的构造函数
public Time(int h){
this(h,0,0);
}
//此处为二个参数的构造函数
public Time(int h,int m){
this(h,m,0);
}
//此处为三个参数的构造函数,即前面的构造函数调用了这个构造函数来初始化对象的时间值
public Time(int h,int m,int s){
setTime(h,m,s);
}
//此处是构造函数,参数为这个类的对象:
//即用一个已经表示一个时间的Time对象来创建一个和它一样的时间对象
public Time(Time time){
this(time.getHour(),time.getMinute(),time.getSecond());
}
//设置时间值
public void setTime(int h,int m,int s){
setHour(h);
setMinute(m);
setSecond(s);
}
//设置时
public void setHour(int h){
hour=((h>=0&&h<24)?h:0);
}
//设置分
public void setMinute(int m){
minute=((m>=0&&m<60)?m:0);
}
//设置秒
public void setSecong(int s){
second=((s>=0&&s<60)?s:0);
}
//获得这个时间对象的时
public int getHour(){
return hour;
}
//获得分
public int getMinute(){
return minute;
}
//获得秒
public int getSecond(){
return second;
}
//格式化时间成为串
public String toUniversalString(){
return String.format("%d:%02d:%02d",getHour(),getMinute(),getSecond());
}
//格式化这个时间成为串
public String toString(){
return String.format("%d:%02d:%02d%s",((getHour()==0||getHour()==12)?12:getHour()%12),getMinute(),getSecond(),(getHour()<12?"AM":"PM"));
}
}
构造方法:通过这个程序可以看出,一个时间对象表示一个时间,有时分秒,那么创建对象要给它表示个时间,构造函数就是初始化有关的操作。
比如我创建一个对象Time time0=new Time(8,20,20);那么time0就表示8:20:20。
构造函数通常的格式是:public + 类名称(参数列表){},记住,它没有返回值。
重载:可以看到里面不只一个构造函数,这就是重载。你可能并不一定要确切的时分秒或其它,这样就可以调用不同的构造函数。
比如:Time time1=new Time(time0);这也创建了对象,此对象表示的时间和time0是一样的。
重载的意思是一个函数,参数列表的不同可以实现不同的功能。
更多追问追答
追问
还有些小问题
public void setHour(int h){
hour=((h>=0&&h<24)?h:0);
} 中的sethour是什么函数

public int getHour(){
return hour; 中的gethour 、 return 干么用的
第一个有void ,第二个就没啊,为甚吗
追答
//这是一个函数,一般格式是:权限+返回类型+函数名(参数列表){}
//可见,返回类型是void,表示不返回任何值;函数名为setHour,通过函数名和参数就可以调用
//此函数,如构造函数中调用了setHour,设置了“时”
public void setHour(int h){
hour=((h>=0&&h<24)?h:0);
}
//这是另一个函数,返回类型是int,表示返回一个整数,所以里面有个return语句,这个语句就
//是返回一个值,此处返回一个“时”,在最后两个函数中就是这样调用,返回时间然后输出的
public int getHour(){
return hour;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式