为什么我的方法与类名称相同?
问题描述:
我已经使用此代码创建一个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);
}
}
为什么我的方法必须具有相同的名称作为我的班?它有什么好处,我能用另一个名字得到相同的结果吗?如果是这样,怎么样?为什么我必须扩展到JFrame,为什么我不能只导入必要的库?
我对此很困惑。谢谢。
答
为什么我的方法必须与我的类具有相同的名称?
这不是一种方法,它是一个constructor。在声明构造函数时使用类的名称就是Java语言设计者决定表明它是构造函数而不是方法的方式。 (这是一个常见的模式,其他一些语言做到这一点,包括C++ [这部分激励的Java]和C#[其中部分被Java的启发。)
,为什么我要扩展到JFrame的,为什么我不能只导入必要的库吗?
这是真的最好的所以要问一个问题/问题。
您必须扩展JFrame
,因为您正在使用的GUI系统适用于JFrame
的实例。就其所知,您的类的实例为JFrame
s,并且它在与这些实例交互时使用在JFrame
上定义的方法。这可能是通过接口完成的,但是这种情况下的设计人员是使用基类来代替的。
答
public GUIsub()不是一个方法,它是一个构造函数。构造函数必须与Java中的类名称相同。
答
public GUIsub()
是类的构造函数... ,你可以用它来“备战后来被使用的对象” ......
不要问**在问题二**的问题。问一个问题。如果您有两个问题,请单独发布。更多:[*我如何提出一个好问题?](/ help/how-to-ask) –
对不起,我不知道。 – Playdowin
你应该真的了解OOP和Java的非常基础知识。这在每个OOP教程的前5分钟内都有解释。 – Polygnome