static的一个有趣的用法import static

    技术2022-05-20  34

    最近发现了static的一个有趣用法,代码如下:

    package com.zhxk.chapter1; public class Import { private static String str1 = "I'm private str1"; public static String str2 = "I'm public str2"; static String str3 = "I'm default str3"; public static void print(String str) { System.out.println(str); } }

    package com.zhxk.chapter1; import static com.zhxk.chapter1.Import.*; public class TestImport { public static void main(String[] args) { // print(str1); // The field Import.str1 is not visible print(str2); print(str3); print("test"); } }

    package com.zhxk.chapter1; public class TestImport2 { public static void main(String[] args) { // TestImport.print(); // compile error } }

    通过这种方式,我们给TestImport类静态加载了Import类的所有静态内容,

    然后,我们就可以在TestImport中直接使用Import的print方法或者str2和str3。

    当然这些静态变量和方法需要是可见地。

    同时我们也发现TestImport2不能通过TestImport使用print方法。


    最新回复(0)