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