java类和对象的问题
publicclasstime1{privateinthour;privateintminute;privateintsecond;publictime1(){setti...
public class time1 {
private int hour;
private int minute;
private int second;
public time1()
{ settime(0,0,0);}
public time1(int hh)
{ settime(hh,0,0);}
public time1(int hh,int mm)
{ settime(hh,mm,0);}
public time1(int hh,int mm,int ss)
{ settime(hh,mm,ss);}
public void settime(int hh,int mm,int ss)
{
hour=((hh>=0&&hh<24)?hh:0);
minute=((mm>=0&&mm<60)?mm:0);
second=((ss>=0&&ss<60)?ss:0);
}
public String toString()
{
return (hour+":"+(minute<10?"0":"")+minute+":"+(second<10?"0":"")+second);
}
}
上面的类中最后的成员方法public String toString()
{
return (hour+":"+(minute<10?"0":"")+minute+":"+(second<10?"0":"")+second);
}
什么意思,麻烦解释一下。 展开
private int hour;
private int minute;
private int second;
public time1()
{ settime(0,0,0);}
public time1(int hh)
{ settime(hh,0,0);}
public time1(int hh,int mm)
{ settime(hh,mm,0);}
public time1(int hh,int mm,int ss)
{ settime(hh,mm,ss);}
public void settime(int hh,int mm,int ss)
{
hour=((hh>=0&&hh<24)?hh:0);
minute=((mm>=0&&mm<60)?mm:0);
second=((ss>=0&&ss<60)?ss:0);
}
public String toString()
{
return (hour+":"+(minute<10?"0":"")+minute+":"+(second<10?"0":"")+second);
}
}
上面的类中最后的成员方法public String toString()
{
return (hour+":"+(minute<10?"0":"")+minute+":"+(second<10?"0":"")+second);
}
什么意思,麻烦解释一下。 展开
7个回答
展开全部
(hour+":"+(minute<10?"0":"")+minute+":"+(second<10?"0":"")+second)
首先,return是要返回一个字符串,整个括号里就是一个字符串(String),用+将String各个部分接起来。先从hour说起,hour是int型的,但是后面+":",将hour强制转换成String类型,后面接一个条件运算符表达式,意思是当minute小于10时整个表达式就代表"0",反之代表"",后面minute与hour一样,后面的second也是条件运算符表达式,作用于前者相同,之后再加上second。整个意思就是返回时间的字符串,显示时间格式为“时:分:秒”,其中分和秒如果小于10就在前面添个0。
首先,return是要返回一个字符串,整个括号里就是一个字符串(String),用+将String各个部分接起来。先从hour说起,hour是int型的,但是后面+":",将hour强制转换成String类型,后面接一个条件运算符表达式,意思是当minute小于10时整个表达式就代表"0",反之代表"",后面minute与hour一样,后面的second也是条件运算符表达式,作用于前者相同,之后再加上second。整个意思就是返回时间的字符串,显示时间格式为“时:分:秒”,其中分和秒如果小于10就在前面添个0。
展开全部
toSting()方法体内的内容如他们所述,至于方法本身应该是用于将对象直接输出的时候会调用这个方法吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
?:这个是个三目运算符;public String toString()覆写了Object类的toString()方法,当输出time1类对象时,直接输出toString()的返回值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.这个方法是继承自JAVA共同的“祖宗”类Object,在这里重写就把基类的toString 方法覆盖了。
2.public String toString(){},通过重写该方法用来得到该类的相关信息。例如:上例中加一个测试方法
public static void main(String[] args){
time1 tt = new time1(12,30,5);
System.out.println(tt);
}
这样控制台得到的结果是: 12:30:05
发现没有,System.out.println(tt);这条语句并没有写成tt.toString ,却实现time1的toString方法的功能。
希望对你有帮助。
2.public String toString(){},通过重写该方法用来得到该类的相关信息。例如:上例中加一个测试方法
public static void main(String[] args){
time1 tt = new time1(12,30,5);
System.out.println(tt);
}
这样控制台得到的结果是: 12:30:05
发现没有,System.out.println(tt);这条语句并没有写成tt.toString ,却实现time1的toString方法的功能。
希望对你有帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(hour+":"+(minute<10?"0":"")+minute+":"+(second<10?"0":"")+second)
就是把时分秒拼接成一个时间格式的字符串,(minute<10?"0":"")这个判断分.
如果小于10,返回0,否则是空,同理(second<10?"0":"")判断秒.如1:02:09
就是把时分秒拼接成一个时间格式的字符串,(minute<10?"0":"")这个判断分.
如果小于10,返回0,否则是空,同理(second<10?"0":"")判断秒.如1:02:09
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询