static 关键字是常见关键字之一,static关键字的一个常见场景就是单例模式,本文仅提供static的基本用法和注意点。
<span style="font-size:18px;">/**
* @author frozen cloud
* @static关键字修饰的成员是静态成员,未被static修饰的成员是实例成员;
* @也就是说static修饰的成员可以直接被调用无需创建对象实例。
* @1.static修饰的方法中不能使用this和super关键字;
* @2.static的生存周期是“永久”,即一直存在;
* @3.static修饰的方法不能存在实例变量和实例方法;
*/
public class StaticKeyWord {
public static void main(String[] args) {
double r = 3.3;
// 静态成员
double d = Circular.area(r);
System.out.println("面试是:" + d);
// 实例成员
Circular c = new Circular();
double d1 = c.perimeter(r);
System.out.println("周长是:" + d1);
// 实例成员
Circular c2 = new Circular();
double d2 = c.perimeter(r * 2);
System.out.println("周长是:" + d2);
}
}
class Circular {
// 静态初始化器,Circular创建了两次对象,但是静态初始化器中的内容只执行了一次
static {
int num = 100;
System.out.println("num的值是" + num);
}
static double PI = 3.1415;
public static double area(double r) {
return PI * r * r;
}
double perimeter(double r) {
return 2 * PI * r;
}
}
</span>