一、特点
1. 随着类的加载而加载
2.优先于对象存在
3.被类的所有对象所共享
4.可以通过类名调用(重点)
5.实例方法里不能定义静态变量
二、注意事项
1.在静态方法中是没有this关键字的
2.静态方法只能访问静态的成员变量和静态成员方法,非静态方法都能访问
3.静态方法使用其他类的非静态方法,需要创建对象,使用对象名调用(如:main方法)
public class play {
public static void main(String[] args) {
Demo D = new Demo(); // 创建对象
D.print1(); // 调用print1方法
System.out.println("******************");
Demo.print2(); // 调用静态方法,使用类名调用
}
}
class Demo {
int num1 = 10; // 非静态成员变量
static int num2 = 20; // 静态成员变量
public void print1() { // 非静态成员方法都可以访问
System.out.println(num1);
System.out.println(num2);
}
public static void print2() { // 静态成员方法不能访问非静态的成员变量
// System.out.println(num1); //这是错误的
System.out.println(num2);
}
}
输出结果:
10
20
******************
20