急求一个java程序代码!最好是个人原创的,帮忙解释下这个程序的作用,发我邮箱384427721@qq.com 寻高人!
1个回答
展开全部
//这是新建了一个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是一样的。
重载的意思是一个函数,参数列表的不同可以实现不同的功能。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询