static 关键字
- 静态成员变量
- 静态方法
- 静态代码块
静态成员变量
被static修饰的变量,叫静态变量或类变量。
静态成员变量是定义在类里面的静态变量,可以直接用 类名.成员变量名 来调用,也可以用对象.成员变量名调用。
class Person{
static String name;
void eat(){
System.out.println("吃饭");
}
}
class Test{
Person.name="张三";//可以直接以类名调用
Person p1=new Person();
Person p2=new Person();
p1.name="张三";
p2.name="张三";//也可以用对象来调用
}
以上代码中,静态成员变量相当于Person类的变量,跟一般的成员变量不一样,当改变任意变量的值时,所有的变量值均会跟着改变,即他们共用一个变量,当改变
p1.name的值时,相应的
p2.name的值也会跟着变。Person.name
的值改变时,Person 类的所有变量都会改变。
静态方法
静态方法就是在方法前加 static 关键字,也可以直接用 类名.方法名 来调用,也可以用 对象.方法名 来调用。
静态方法可以直接引用静态变量,不能引用非静态成员变量。如:
class Person{
static int age;
void static talk(){
System.out.println("我的年龄是"+age);//直接调用
}
}
class Test{
Person.talk();//直接调用
}
静态代码块
class Person{
static{
System.out.println("person static");
}
主要作用是给变量赋值,静态代码块会优先编译。
以上为我的浅显理解,如有不对之处,请指正。