主要内容:
1. 静态成员变量的语法特点
2. 静态函数的语法特点
1. 静态成员变量的语法特点
2. 静态函数的语法特点
3.静态代码块的语法特点
静态成员变量的语法特点:
1.可以直接使用类名来调用。
class Person{
static int i;
}
class Test2{
public static void main(String args[]){
Person.i = 10;//直接使用类名进行调用i来进行初始化
}
}
下面是普通变量的使用情况:
从上面可以看到,p1,p2对象的普通成员变量i是没有相互关系的。
p1,p2对象的static 变量i是共用的。
class Person{
static int i;
}
class Test2{
public static void main(String args[]){
Person p1 = new Person();
Person p2 = new Person();
Person.i = 10;
System.out.println("p1的i值为:"+ p1.i);
System.out.println("p2的i值为:"+ p2.i);
p1.i = 20;
System.out.println("p1的i值为:"+ p1.i);
System.out.println("p2的i值为:"+ p2.i);
}
}
可以看到只要其中一个对象修改了成员变量,另一个对象的成员也做了相应的修改。
static成员变量不是属于某个对象的,它是属于这个类。
静态函数的语法特点:
1.也可以直接使用类名来调用:
2.在静态的函数不能直接引入非静态的成员变量,可以引用静态的成员变量。
静态代码块的语法特点
格式:
static{
。。。。
}
静态代码块在装载这个类的时候被执行,无需调用。主要为静态变量父一些初始值。
class Person{
static String name;
static{
System.out.println("静态代码块");
}
static void fun(){
System.out.println("我是静态函数");
}
}
主函数:
class Test2{
public static void main(String args[]){
Person.fun();//直接使用类名调用
}
}