猿问

java static代码块有什么作用

JAVA静态代码块有什么用,用个大括号存放起来的静态代码块,一般用作什么,还有static关键字一般做什么功能的,举例说明下,谢谢

Cats萌萌
浏览 694回答 6
6回答

宝慕林4294392

类级别的初始化,只是在类加载的时候做一次,例如 public static String fileContent; static { fileContent = readFromFile(); fileContent = fileContent + "-----"; }

慕姐4208626

static 静态 JDK里的一个关键字,当在类中某个方法声明static,就不用实例化而是通过类名.方法名形式,静态方法,变量不能访问非静态方法,变量,反之可以,static对于优化程序性能有好处。

阿晨1998

原理如一楼所说。举例:我想通过SettingUtil.getCurrentServerAddress() 实现服务器地址切换(测服和正服),但只有再次打开应用才生效。原以为加上 static final 就行了 public static final String URL_BASE = SettingUtil.getCurrentServerAddress(); 结果是切换实时生效,断点跟踪进入发现每次调用URL_BASE时都会调SettingUtil.getCurrentServerAddress(),也就是URL_BASE的值没有保存! 后来用static静态代码块解决了 public static final String URL_BASE; static { URL_BASE = SettingUtil.getCurrentServerAddress(); } 代码文件地址https://github.com/TommyLemon...

拉莫斯之舞

static 是静态修饰符,可用来修饰成员变量和方法,修饰的变量和方法属于类而不属于某个实例(直接通过类名来访问),当然任何实例也能访问;static{} 则表示静态块,再jvm加载类时就会被执行且只会被执行一次。 public class Test { private static String a = "test"; private static void testStatic(){ System.out.println("test static method"); } // jvm加载类时候就执行 static{ System.out.println("test static{}"); } public static void main(String[] args) { System.out.println(Test.a); Test.testStatic(); //实例当然也能访问 Test test = new Test(); System.out.println(test.a); test.testStatic(); } }
随时随地看视频慕课网APP

相关分类

Java
我要回答