Static关键字

关于java中的static关键字:
1、static英语单词翻译为静态的
2、 statia修饰的方法是静态方法
3、static修饰的变量是静态变量,例如:static string anmil; 定义一个名字为animal的静态变量;
4、可以用static关键字定义“静态代码块”,例如:static {
Java语句;
}
*静态代码块在类加载时执行,并且只执行一次。
例如在main方法中执行下面的代码:
public class Test{
static{
System.out.println("类加载");
}
public static void main(String[]args){
System.out.println("main begin");
}
}
*执行结果一定是先执行static里的代码,因为静态代码块在类加载时执行;
静态代码块在一个类中可以编写多个,并且遵从从上到下的顺序依次执行;
例如:
public class Test{
static{
System.out.println("类加载1>");
}
static{
System.out.println("类加载2");
}
static{
System.out.println("类加载3");
}
public static void main(String[]args){
System.out.println("main begin");
}
}
*那么问题来了,静态代码块的作用是什么?怎么用?用在哪?作用是什么?
-这当然和具体的需求有关,例如项目中要求在类加载的时刻/时机执行代码完成日志的记录。那么这段记录日志的代码就可以编写到静态代码块当中,完成日志记录。
-静态代码块是java为程序员准备一个特殊的时刻,这个特殊的时刻被称为类加载时刻。若希望在此刻执行一段特殊的程序,这段程序可以直接放到静态代码块当中。
完成预备工作,先完成数据的准备工具,例如:初始化连接池,解析xml配置文件
5、所有static修饰的元素都称为静态的,都可以使用“类名.”的方式访问,当然也可以“引用.”的方式访问(但不建议)
6、static修饰的所有元素都是类级别的特征,和具体对象无关。

原文地址:https://www.cnblogs.com/yangzhenghua/p/13949775.html