【发布时间】:2015-05-31 12:35:06
【问题描述】:
我对java和gui有一个疑问,这已经困扰了我一段时间了。下面我发布了一个小代码,我需要你看看它的构造函数部分。
import java.awt.*;
class First extends Frame {
First(){
Button b=new Button("click me");
b.setBounds(30,100,80,30);// setting button position
add(b);//adding button into frame
setSize(300,300);//frame size 300 width and 300 height
setLayout(null);//no layout manager
setVisible(true);//now frame will be visible, by default not visible
}
public static void main(String args[]){
First f=new First();
}
}
我知道在 main 方法中,我们创建了一个“First”类的对象。我也明白,当一个新对象被创建时,它的类的构造函数会被调用来进行初始化。
我的疑问是我们如何在没有点运算符的情况下使用 setSize、setLayout、setVisible 函数?如果这些函数是要修改对象,创建它会触发构造函数调用,我们不应该使用 this 指针吗?这不就是我们一直这样做的方式吗?但是我在整个互联网上都遇到过类似的代码,最近真的很困惑。任何帮助将不胜感激。
【问题讨论】:
-
这是隐含的,当然如果你想使用“this”你可以,但你只是增加了更多的输入,而且,正如许多没有使用过 ObjectiveC 的人抱怨的那样,Java 是相当冗长。另外,不要使用空布局...
标签: java user-interface constructor awt frame