Java public / private和static修饰符如何影响在一行中声明的多个变量?(How do Java public/private and static modifiers affect multiple variables declared on one line?)
public final class TestClass2 { public static void main(String[] args) { //these two DO result in COMPILE error, because both vars are private System.out.println("TestClass.readAllFiles: " + TestClass.readAllFiles); System.out.println("TestClass.readAllDirs: " + TestClass.readAllDirs); } }
public final class TestClass2 { public static void main(String[] args) { //these two DO result in COMPILE error, because both vars are private System.out.println("TestClass.readAllFiles: " + TestClass.readAllFiles); System.out.println("TestClass.readAllDirs: " + TestClass.readAllDirs); } }
以下是否相同?
private static boolean readAllFiles = false,readAllDirs = false; private static boolean readAllFiles = false; private static boolean readAllDirs = false;如果是这样,他们是否仍然有不同值的修饰符?
private static boolean readAllFiles = false,readAllDirs = true;Are the following equivalent?
private static boolean readAllFiles = false,readAllDirs = false; private static boolean readAllFiles = false; private static boolean readAllDirs = false;And if so, do they still have the same modifiers with different values?
private static boolean readAllFiles = false,readAllDirs = true;最满意答案
是的,无论其初始值如何,它们都是等价的。
这里是一些测试代码来演示:
public class TestClass { private static boolean readAllFiles = false,readAllDirs = true; public static void main(String[] args) { //these two would result in COMPILE error if both vars were not static System.out.println("readAllFiles: " + readAllFiles); System.out.println("readAllDirs: " + readAllDirs); } }public final class TestClass2 { public static void main(String[] args) { //these two DO result in COMPILE error, because both vars are private System.out.println("TestClass.readAllFiles: " + TestClass.readAllFiles); System.out.println("TestClass.readAllDirs: " + TestClass.readAllDirs); } }
Yes, they are equivalent, regardless of their initial values.
Here is some test code to demonstrate:
public class TestClass { private static boolean readAllFiles = false,readAllDirs = true; public static void main(String[] args) { //these two would result in COMPILE error if both vars were not static System.out.println("readAllFiles: " + readAllFiles); System.out.println("readAllDirs: " + readAllDirs); } }public final class TestClass2 { public static void main(String[] args) { //these two DO result in COMPILE error, because both vars are private System.out.println("TestClass.readAllFiles: " + TestClass.readAllFiles); System.out.println("TestClass.readAllDirs: " + TestClass.readAllDirs); } }
更多推荐
发布评论