作用:
- 可以修饰普通方法
- 可以修饰字段[ 成员字段 ]
- 可以修饰内部类[暂时不了解]
- 不可以修饰外部类
- 不可以修饰局部变量;
- 不可以构造方法
修饰字段:
- 有static修饰的字段应该是字段所在 类名.字段名 进行访问
- 没有static 修饰的字段: 字段所在的类的对象来访问
- 注意:非static修饰字段:错误的访问方式
修饰方法:
- 有static修饰的方法: 方法所在的 类名.方法名(...);
- 没有static修饰的方法 : 方法所在的类的对象名.方法名(...);
- 注意:非static修饰方法:错误的访问方式
类 :不能使用static修饰
字段:可以使用static修饰的。 特点:用static修饰的字段,被所有对象共享一份。
可以使用类名或者对象名访问该字段。建议使用类名访问,因为,在编译的时候会自动把对象名转换为类名
没有使用static修饰的字段,只能使用对象名.字段名访问
方法 :与字段一样
构造方法 :不能使用static修饰
static类级别的修饰符(被修饰的成员属于类)
public static final修饰的都是全局常量
效果:加了static修饰的字段:该字段被该类所有对象共享:当一个对象修改了该字段,其他对象使用该字段,都是修改之后的值
加static修饰字段之后的堆栈费分析:
何时使用static修饰方法?
- 目的: 使用static修饰的方法调用方便
- 常见的地方: 工具类的工具方法一般都使用static修饰,调用更方便,例如: Arrays中全部都是工具方法(static)
- 最近面向对象语法,我们一般写的方法都写成非静态,除非非得使用static