static是Java的关键字,主要用途 1.声明静态变量
2.声明静态常量
3.声明静态方法
4.声明静态类(内部类)
5.静态导入
1.声明静态变量
用static修饰的变量称为静态变量或类变量,静态变量的变量值存储在一个公共的内存地址,所以静态变量被所有类所共享。
public static int numberOfObject=0;
2.声明静态常量
用static修饰的常量称为静态常量,静态常量与静态变量的区别在于常字,即不可变。
fianl static double PI=3.1415; //static与fianl的顺序可调换
3.声明静态方法
用static修饰的方法称为静态方法,静态方法无法访问非静态数据(未用static修饰的自变量,常量,方法)
public static void main(String[] args)
{
....
}
4.声明静态类(内部类)
用static修饰的内部类称为静态类,同静态方法类似,静态类不可访问外部类的非静态变量
5.静态导入
用static修饰import语句称为静态导入,一般用于静态导入一些静态方法或数据,这些所导入的静态方法或数据就可以不同
过类名访问
import static java.lang.Math;
System.out.println(PI); // Math.PI
最后,用static修饰的变量、常量、方法、类都可以也最好用类名直接访问,提高代码的可读性,让阅读者立刻知道这是静态的。尤其是静态类,因为可以用类名直接访问,所以声明对象时,用类似
ClassName.InnerClassName name=new ClassName.InnerClassName();
的语句。
为什么main方法是静态方法?@杨红云老师说,系统不会为你创建主类的对象,所以想要访问main方法只能通过类名来访问。想要用类名直接访问?静态化呗。