static关键词的作用
1、静态成员变量的语法特定
2、静态函数的语法特定
3、静态代码块的语法特定
定义静态成员变量
Person.java
class Person{ static int a; }
按照以前可以这么调用
public class Test1{ public static void main(String[] args){ Person person = new Person(); person.a = 10; System.out.println(person.a); } }
输出结果为10。
加上static后也可以这么使用:
public class Test1{ public static void main(String[] args){ Person.a = 10; System.out.println(Person.a); } }
输出结果为10。
普通成员对象和静态成员变量的区别
普通成员变量对应p1和p2互不影响。而静态成员变量,p1和p2使用的是同一个变量。
静态函数
静态函数中不能直接引用非静态的成员变量,在静态函数中不能使用this.
定义静态函数
Person.java:
class Person{ static void fun(){ System.out.println("static function"); } }
Test1.java
public class Test1{ public static void main(String[] args){ Person.fun(); } }
输出:static function
静态代码块
静态代码块是在装载类的时候执行,作用是初始变量。
static{ System.out.println("static code"); }