add和GetContentPane是方法
此代码是否访问方法中的方法?这段代码做了什么?
frame.getContentPane()。add(BorderLayout.SOUTH,b);
答案 0 :(得分:4)
在显示的代码中,它不是“嵌套方法”,而是从另一个方法返回的对象上调用的方法。 (仅供参考,在Java编程语言中,没有嵌套方法的概念。)
以下一行:
f.getContentPane().add(component);
相当于:
Container c = f.getContentPane();
c.add(component);
不是将两个语句分成两行,而是第一个例子在一行中执行它。
从概念上讲,这是正在发生的事情:
f.getContentPane
方法返回Container
。add
上调用Container
方法。有一些视觉效果可能会有所帮助:
f.getContentPane().add(component); |________________| L returns a Container object. [Container object].add(component); |________________________________| L adds "component" to the Container.
这与数学中的替换如何不同 - 表达式的结果用于继续评估表达式:
(8 * 2) + 4 |_____| L 8 * 2 = 16. Let's substitute that. 16 + 4 |____| L 16 + 4 = 20. Let's substitute that. 20 -- Result.
答案 1 :(得分:3)
方法可以返回一个对象。你可以在那个对象上调用一个方法。
有些语言支持本地功能。但那些从外面看不到。
答案 2 :(得分:1)
getContentPane()返回一个Container,add是Container类的方法之一。
通过执行frame.getContentPane(),您将获得它返回的Container对象,然后调用该对象的add方法。
答案 3 :(得分:1)
public class A {
public A f1() {
//Do something.
return this;
}
public A f2() {
//Do something.
return this;
}
然后:
A var = new A();
var.f1().f2().f1();