在这里阅读Thinking in Java就是问题所在
如何在没有任何引用的情况下调用这些方法(contents(),to())?
不要注意这个(
(klklklklklklklklklklklklklklklklk)我只有这个问题。我认为这是可以理解的)
public class Parcel2 {
class Contents {
private int i = 11;
public int value() { return i; }
}
class Destination {
private String label;
Destination(String whereTo) {
label = whereTo;
}
String readLabel() { return label; }
}
public Destination to(String s) {
return new Destination(s);
}
public Contents contents() {
return new Contents();
}
public void ship(String dest) {
Contents c = contents();
Destination d = to(dest);
System.out.println(d.readLabel());
}
public static void main(String[] args) {
Parcel2 p = new Parcel2();
p.ship("Tasmania");
Parcel2 q = new Parcel2();
// Defining references to inner classes:
Parcel2.Contents c = q.contents();
Parcel2.Destination d = q.to("Borneo");
}
}
答案 0 :(得分:1)
您突出显示的方法(发货)是Parcel2类的实例方法, 因此,它们在这个类中是可见的,因此可以 从同一个类中的其他实例方法调用。 注意:您隐含地使用此引用从发货中调用至和内容。< / p>
答案 1 :(得分:0)
你没有 在没有引用/对象的情况下调用它们。您正在从另一个实例方法调用实例方法,这是完全可以接受的。