为什么我的方法与 class 同名?
Why does my method has the same name as class?
我使用以下代码创建了一个 JDialog:
public class GUIsub extends JFrame {
private JLabel item1;
public GUIsub() {
super("The title");
setLayout(new FlowLayout());
item1 = new JLabel("This is a JLabel!");
item1.setToolTipText("Are you hovering?!");
add(item1);
}
}
为什么我的方法必须与 class 同名?它有什么好处,我可以使用其他名称获得相同的结果吗?如果是这样,如何?为什么我必须扩展到 JFrame,为什么我不能只导入必要的库?
我真的很困惑。谢谢
public GUIsub() 不是一个方法,它是一个构造函数。构造函数必须与 Java.
中的 class 同名
Why does my method have to have the same name as my class?
这不是一种方法,而是一种constructor。在声明构造函数时使用 class 的名称正是 Java 语言设计者决定表明它是构造函数而不是方法的方式。 (这是一种常见的模式,其他一些语言也这样做,包括 C++ [部分受 Java 启发] 和 C# [部分受 Java 启发]。)
And why do I have to extend to JFrame, why can't I just import the necessary libraries?
最好在 SO 上问 one question/question.
您必须扩展 JFrame
,因为您正在使用的 GUI 系统使用 JFrame
的实例。据它所知,您的 class 实例是 JFrame
,并且它在与这些实例交互时使用定义在 JFrame
上的方法。这本可以通过接口来完成,但在这种情况下,设计师使用了基数 class。
public GUIsub()
是 class ...
您可以将其用于 "preparing the object for been used later"...
我使用以下代码创建了一个 JDialog:
public class GUIsub extends JFrame {
private JLabel item1;
public GUIsub() {
super("The title");
setLayout(new FlowLayout());
item1 = new JLabel("This is a JLabel!");
item1.setToolTipText("Are you hovering?!");
add(item1);
}
}
为什么我的方法必须与 class 同名?它有什么好处,我可以使用其他名称获得相同的结果吗?如果是这样,如何?为什么我必须扩展到 JFrame,为什么我不能只导入必要的库?
我真的很困惑。谢谢
public GUIsub() 不是一个方法,它是一个构造函数。构造函数必须与 Java.
中的 class 同名Why does my method have to have the same name as my class?
这不是一种方法,而是一种constructor。在声明构造函数时使用 class 的名称正是 Java 语言设计者决定表明它是构造函数而不是方法的方式。 (这是一种常见的模式,其他一些语言也这样做,包括 C++ [部分受 Java 启发] 和 C# [部分受 Java 启发]。)
And why do I have to extend to JFrame, why can't I just import the necessary libraries?
最好在 SO 上问 one question/question.
您必须扩展 JFrame
,因为您正在使用的 GUI 系统使用 JFrame
的实例。据它所知,您的 class 实例是 JFrame
,并且它在与这些实例交互时使用定义在 JFrame
上的方法。这本可以通过接口来完成,但在这种情况下,设计师使用了基数 class。
public GUIsub()
是 class ...
您可以将其用于 "preparing the object for been used later"...