static 关键字
例如:在球类中使用PI这个常量,可能除了本类需要这个常量之外,在另外一个圆类中也需要使用这个常量。这时没有必要
在两个类中同时创建PI这个常量,因为这样系统会将这两个不在同一个类中定义的常量分配到不同的内存空间中。为了解决
这个问题,可以将这个常量设置为静态的。PI常量在内存中被共享的布局如图
参考资料:Java从入门到精通 第三版
被声明为static的变量,常量和方法被称为静态成员。静态成员是属于类所有的,区别于个别对象,可以在本类或其他类使用类名和“.”
运算符调用静态成员。语法格式如下:
类名.静态类成员
静态成员同样遵循着public,private,protected修饰符的约束。
在静态方法中不可以使用this关键字
在静态方法中不可以直接调用非静态方法
在java语言中规定不能将方法体内的局部变量声明为static。例如下述代码就是错误的:
public class example{ public void method(){ static int i = 0; } }
如果在执行类时,希望先执行类的初始化动作,可以使用static定义一个静态区域。例如:
public class example{ static{ //some } }