Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要在java中声明私有变量、公共变量和静态变量,在声明这些变量时是否有特定的顺序?_Java - Fatal编程技术网

我需要在java中声明私有变量、公共变量和静态变量,在声明这些变量时是否有特定的顺序?

我需要在java中声明私有变量、公共变量和静态变量,在声明这些变量时是否有特定的顺序?,java,Java,我需要在java中声明私有变量、公共变量和静态变量,在声明这些变量时是否有特定的顺序 public class Test { private String name; public String address; private static final String DR_NO = "1-44-54/4"; } 是否有声明这些变量的规范?否,您可以按照您想要的顺序声明字段。方法、构造函数和内部类也是如此 唯一需要注意的是:静态字段将在实例字段之前

我需要在java中声明私有变量、公共变量和静态变量,在声明这些变量时是否有特定的顺序

public class Test  
{ 

    private String name;  
    public String address;  
    private static final String DR_NO = "1-44-54/4";  

}

是否有声明这些变量的规范?

否,您可以按照您想要的顺序声明字段。方法、构造函数和内部类也是如此

唯一需要注意的是:静态字段将在实例字段之前进行初始化(当然),但是静态字段和实例字段将按照您声明的顺序进行初始化

如果你有这个:

class A {
    static String b = "hello ";
    static String a = b + " world";
    static void print() {System.out.println(a);}
}
class A {
    static String a = b + " world";
    static String b = "hello ";
    static void print() {System.out.println(a);}
}
然后调用
print
打印“hello world”,但如果您有以下情况:

class A {
    static String b = "hello ";
    static String a = b + " world";
    static void print() {System.out.println(a);}
}
class A {
    static String a = b + " world";
    static String b = "hello ";
    static void print() {System.out.println(a);}
}

然后它会打印“null world”,因为
b
a
初始化时包含值
null

就个人而言,我首先喜欢
static final
变量,但这更多的是关于习惯,而不是其他。你是在问什么是最佳实践还是语言要求?对于后者,您可以按照您喜欢的任何顺序声明它们,它仍然可以编译。对于最佳实践,只要保持一致和清晰。这是一个偏好的问题。。我同意@MadProgrammer。