这里是否有人不同意:
JLabel lbl;
lbl = new JLabel ("a label");
相当于:
JLabel lbl = new JLabel ("a label");
我猜不是吗?
请注意 - 这与以下问题有关:
public class Test
extends JApplet
{
JLabel lbl;
lbl = new JLabel ("a label");
public void init()
{
}
}
此代码(A)给出以下错误:
令牌上的语法错误&#34 ;;",预期
然而,这段代码(B)完美无缺:
public class Test
extends JApplet
{
JLabel lbl = new JLabel ("a label");
public void init()
{
}
}
知道为什么会这样吗?这可能与init方法有关。我仍然期待看到数学精确的解释,而不是可解释的理论。非常感谢。我是applets的新手。 PS:为了简单起见,我省略了包导入(例如import javax.swing。*;)。
答案 0 :(得分:2)
你不能在课堂上有这样的免费指示。类主体可以包含方法,字段声明,构造函数,内部类声明,静态和实例初始化程序块,但不包含这样的免费指令。
你可以做到
JLabel lbl;
{
lbl = new JLabel ("a label");
}
但它很难看。
答案 1 :(得分:2)
它应该是相同的,如果它在方法中使用:
public void setMethod() {
JLabel lbl;
lbl = new JLabel ("a label");
}
答案 2 :(得分:2)
它与applet或init()方法无关。您只能在方法体或块内部使用指令(lbl = new JLabel ("a label");
,无声明是指令)