static的特征和用法
static 静态(修饰成员变量和方法)
特点
- 优先加载
- 优先于对象存在
- 被所有对象所共享
- 可以直接被类名调用
用法及使用注意事项
static int age;//静态成员变量
public static void go(){
}//静态方法
static{
}//静态代码块
-
静态占用单独空间,存放在方法区,可以重复使用。
-
静态方法只能访问静态方法,如果访问非静态方法会报错。
例:
public static void go(){
System.out.println("走");
}
public void eat(){
System.out.println("吃");
}
public static void main(String[] args){
go();
}
(可以直接访问go()方法,不能直接访问eat()方法)
-
静态具有优先加载的特点,如静态代码块。
例:
public static void main(String[] args){
System.out.println("main");
}
static{
System.out.println("static");
}
输出结果为:
static
main
- 静态方法中不能定义this,super关键字。