static是java中常用的一个关键字,本文总结了static关键字修饰的方法、成员变量、类等的特点。并介绍了static与静态内部类的关系、静态内部类和匿名内部类的区别
一、static关键字
static关键子可以修饰方法、成员变量、和类,分别对应:
- 静态方法:静态方法不依赖于任何对象就可以进行访问,对于静态方法来说,是没有this的。由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法。
- 静态变量:静态变量是类的属性,被所有对象共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。
- 静态内部类:static修饰的类只能为内部类,普通类无法用static关键字修饰。访问方式为(new 外部类名.内部类的方法())。
- 内部类:用内部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放这个类。
- 1、静态内部类只能访问外部类的静态成员 2、静态内部类的创建不需要外部类的实例 3、静态内部类只管该类与外部类的相互关系,