为什么一个对象有一个方法返回"这个"?

时间:2016-04-20 11:31:00

标签: java oop jodatime

我最近偶然发现了Java JodaTime Library中的一个奇怪的细节。

有一个类Process process = Runtime.getRuntime().exec("su"); process = Runtime.getRuntime().exec(new String[]{"mkdir /sdcard/tmp1/"}); process = Runtime.getRuntime().exec(new String[]{"adb pull /sdcard/tmp3/new4.txt \"C:\\Users\\my_username\\Documents\\\"" ,它有一个名为Instant的方法。该方法只返回toInstant()

this

我完全不知道这应该如何有用。如果你想调用这个方法,你就需要你希望得到它的对象。或者这仅仅是为了满足界面?

4 个答案:

答案 0 :(得分:3)

Instant扩展AbstractInstant,实现ReadableInstant

DateTime和其他时间对象也是ReadableInstant,所以是的,这是令人满意的接口;并且,您正在考虑的部分可能在这种情况下没有那么多意义。看看ReadableInstant的其他实现,它更有意义。

例如

MutableDateTime dateTime = new MutableDateTime();
// Available because MutableDateTime is a ReadableInstant
Instant instant = dateTime.toInstant();

答案 1 :(得分:1)

想象不同的方法做东西并返回这个。你可以:

x.doStuff().andStuff().andStuff(2).otherStuff().OtherStuffToo();

答案 2 :(得分:1)

如果我有MyInstant extends Instant,那么我可以将其作为超类

返回

答案 3 :(得分:1)

正如我所说的马丁福勒所述,允许FluentInterfaces