add 和 GetContentPane 是方法
这段代码是否访问方法中的方法?这段代码的作用是什么?
frame.getContentPane().add(BorderLayout.SOUTH, b);
最佳答案
在显示的代码中,它不是“嵌套方法”,而是在从另一个方法返回的对象上调用的方法。 (仅供引用,在 Java 编程语言中,没有嵌套方法的概念。)
以下行:
f.getContentPane().add(component);
相当于:
Container c = f.getContentPane();
c.add(component);
第一个示例不是将两个语句分成两行,而是在一行中执行。
从概念上讲,这是正在发生的事情:
f.getContentPane
方法返回一个Container
。- 在返回的
Container
上调用add
方法。
一些视觉效果可能会有所帮助:
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.
关于java - 嵌套方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/993770/