我一开始在学java的swing。上面的事情是正确的,另一件事情是不正确的代码。对的
public class Example extends JFrame{ public Example() { }
不正确的
public class Example extends JFrame{ public Othor() { }
尽管不是构造函数,为什么函数名和类名应该相同?
ni65a41a1#
我不知道你说的“尽管它不是构造函数”是什么意思-在第一个片段中, public Example() 是构造函数,表示在使用 new Example() . 在第二段中, public Othor() 将是类的一个普通方法,即使它缺少返回类型,所以它不会编译(这可能是您得到的错误消息,类似于 Return type is missing ). 第二次截取的正确代码如下
public Example()
new Example()
public Othor()
Return type is missing
public class Example extends JFrame{ public void othor() { } }
(请注意,方法通常以非大写字母开头)。在这种情况下,将隐式创建默认构造函数,但是 void othor() 是类的常规方法。还要注意的是,这只是正常的java行为,完全独立于swing或任何其他工具箱或框架。另请参见java中构造函数的用途?
void othor()
1条答案
按热度按时间ni65a41a1#
我不知道你说的“尽管它不是构造函数”是什么意思-在第一个片段中,
public Example()
是构造函数,表示在使用new Example()
. 在第二段中,public Othor()
将是类的一个普通方法,即使它缺少返回类型,所以它不会编译(这可能是您得到的错误消息,类似于Return type is missing
). 第二次截取的正确代码如下(请注意,方法通常以非大写字母开头)。在这种情况下,将隐式创建默认构造函数,但是
void othor()
是类的常规方法。还要注意的是,这只是正常的java行为,完全独立于swing或任何其他工具箱或框架。另请参见java中构造函数的用途?