static关键字的作用

主要内容:
1. 静态成员变量的语法特点
2. 静态函数的语法特点

3.静态代码块的语法特点


静态成员变量的语法特点:
1.可以直接使用类名来调用。

class Person{
    static int i;
}

class Test2{
    public static void main(String args[]){
        Person.i = 10;//直接使用类名进行调用i来进行初始化
    }
}
下面是普通变量的使用情况:

static关键字的作用_第1张图片

从上面可以看到,p1,p2对象的普通成员变量i是没有相互关系的。

static关键字的作用_第2张图片

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();//直接使用类名调用 
    }
}



你可能感兴趣的:(Java)