本人第一次写博客,有写错的地方就多多指教。PS:最近项目做完了,闲下来没事做,学习一下基础。写的不够好,请多多见谅
关于static,我本人用的最多的是用来修饰变量和方法,在最近看的一篇文章中,看到了其他的修饰作用,比如代码块,内部类,还有静态导包。
1、修饰变量,比如static int i=0; 一个类成员变量如果是用static修饰的,那么这个类及这个类的所有实例都共享这个变量
2、修饰方法
3、静态代码块,在实例化类的时候,类中的静态代码块是优先于构造方法的执行的
public class Demo {
public static void main(String[] args) {
new Test();
}
}
class Test{
static{
System.out.println("static{}");
}
public Test(){
System.out.println("构造方法");
}
}
输出
static{}
构造方法
4、修饰内部类
5、静态导包,注意这个是jdk5.0才有的新特性,之前的版本没有的
package com.tesu1;
public class Test {
public static int PARAM = 10;
}
比如正常的使用一个类中的静态变量如下:
package com.tesu;
import com.tesu1.Test;
public class Demo {
public static void main(String[] args) {
int param = Test.PARAM;
}
}
使用静态导包方式如下
package com.tesu;
import static com.tesu1.Test.PARAM;
public class Demo {
public static void main(String[] args) {
int param = PARAM;
}
}