2017-09-11 46 views
-4

编辑:是否有可能或有用的初始化类外的变量? 例如,如果我有这样的代码:是否可以在类之外初始化变量?

static int example = 1; 

public class test { 

public static void main(String []args) { 
System.out.println("I have " + example + " question!"); 
} 

还是更多有用做到这一点就像这样:

public class test { 
static int example = 1; 

public static void main(String []args) { 
System.out.println("I have " + example + " question!"); 
} 

如果这两种方式都是可能的,有什么区别? 感谢您提前

+2

你的第一个例子不会编译。 –

+3

你试过了吗? – shmosel

+4

这两个示例都不会编译 – baao

回答

-3

在Java中,不允许在类声明之外声明变量,并且会导致编译错误。

您必须使用您发布的第二个代码段。下面是你的代码的编辑的版本,使其工作:

public class test { 
    private static int example = 1; 

    public static void main(String []args) { 
     System.out.println("I have " + example + " question!"); 
    } 

}

+0

第二个也不行。 –

+1

**“现在允许类声明,并会导致编译错误。”** - 大声笑,我认为你的意思是不允许 –

+0

我已经更新了我的答案。 – kevenlolo

0

没有没有你的代码片断都可以工作。第一个将不起作用,因为Java没有全局变量,第二个将不起作用,因为main是静态方法并且静态方法不能访问非static的类变量

0

因为Java不支持全局变量。 Java设计时考虑了OOPS原则,因此,Java中的每个变量都是本地的或者是类的成员。

所以你不能在类之外声明变量。

相关问题