static使用场景
- 修饰变量和方法
- 修饰静态代码块
- 修饰内部类
- 静态导包
比较常用的是修饰变量和方法。
修饰变量和方法
被 static 修饰的变量和方法属于类,但不属于单个这个类的某个对象,而是被类中所有对象共享,并且可以通过类名调用。
简单例子
在practice包下新建了类 pr1.java
pr1.java
package practice;
import org.junit.Test;
public class pr1 {
public static void main(String[] args) {
practice.pr1.demo1(); //调用静态方法
pr1 dd = new pr1(); //调用非静态方法
dd.demo2();
System.out.println(pr1.num); //输出静态变量
}
public static void demo1() { //使用static的静态方法
System.out.println("static");
}
public void demo2() { //不使用static的方法
System.out.println("non-static");
}
static int num=10; //静态变量
}
结果:
static
non-static
10