【发布时间】:2014-02-19 14:26:23
【问题描述】:
虽然我进行了一些广泛的搜索,但我遇到了一些代码,但无法理解其中的某个方面!
我的问题是:为什么要在方法调用中间使用括号?
package com.zetcode;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class QuitButtonExample extends JFrame {
public QuitButtonExample() {
initUI();
}
private void initUI() {
JPanel panel = new JPanel();
getContentPane().add(panel);
panel.setLayout(null);
JButton quitButton = new JButton("Quit");
quitButton.setBounds(50, 60, 80, 30);
quitButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
System.exit(0);
}
});
panel.add(quitButton);
setTitle("Quit button");
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
QuitButtonExample ex = new QuitButtonExample();
ex.setVisible(true);
}
});
}
}
我指的是getContentPane().add(panel); 声明。我知道它的作用,但并不真正了解它是如何工作的。我是 Java 新手,并且具备 OO 的基础知识,例如类字段、类方法、实例字段、实例方法、内部类,但只有这个。
【问题讨论】:
-
我相信您正在寻找的答案是:如果一个方法返回一个对象,那么可以从该方法调用该对象的方法。
-
您可能会理解
{ Foo a = getFoo(); a.doSomethingFooish();}。但是不需要存储getFoo()的结果,我们可以直接使用:getFoo().doSomethingFooish() -
哦,我明白了。非常感谢您的帮助。
标签: java class methods field instance