sdo*_*nay 6 java object operators
假设我们有一个课程如下:
public class Time{
int hour;
int min;
Time(int hour,int m){
hour=h;
min=m;
}
public String toString(){
return hour+":"+min;
}
}
Run Code Online (Sandbox Code Playgroud)
我想写一些像这样的代码,主要是结果,如评论中所示:
Time t1 = new Time(13,45);
Time t2= new Time(12,05);
System.out.println(t1>=t2); // true
System.out.println(t1<t2); // false
System.out.println(t1+4); // 17:45
System.out.println(t1-t2); // 1:40
System.out.println(t1+t2); // 1:50 (actually 25:50)
System.out.println(t2++); // 13:05
Run Code Online (Sandbox Code Playgroud)
我可以通过接口等来做到这一点,或者我唯一能做的就是编写方法而不是使用运算符?
提前致谢.
这称为运算符重载,Java不支持:Java中的运算符重载
所以是的,你必须坚持使用方法.
编辑:正如一些评论所说,你可以实现Comparable来制作你自己的compareTo方法/sf/answers/2248046251/
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |