static 的使用

1、概念

使用static 修饰成员变量,此时该成员变量又对象层级提升到类层级,被所有对象共享  该成员变量随着类的加载而准备就绪,与是否创建对象无关.

总之:类存在的时间比对象早

2、修饰的范围

static 修饰符表示静态的,可修饰字段、方法、代码块、内部类,其修饰的成员属于类,也就是说 static 修饰的资源属于类级别,而不是对象级别

3、静态属性

属性可以用类来调用,也可以用对象来调用,所有的实例共享这个静态属性。

public class Persion {

    private String name;
    private int age;
    private static String country = "china";

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }


    public static String getCountry() {
        return country;
    }

    public static void setCountry(String country) {
        Persion.country = country;
    }

    public void print(){
        System.out.println("name="+this.getName()+"age="+this.getAge()+"country="+Persion.getCountry());
    }
}

public class Test1 {
public static void main(String[] args) {
Persion persion = new Persion();
persion.setAge(23);
persion.setName("guanyu");

persion.setCountry("蜀国");

System.out.println("==================");
persion.print();

Persion persion1 = new Persion();
persion1.setAge(25);
persion1.setName("zhangfei");

System.out.println("==================");
persion1.print();

}
}

//这里可以看到country 这个属性是共享的,任何一个对象改了后所有的别的对象都改了

==================
name=guanyuage=23country=蜀国
==================
name=zhangfeiage=25country=蜀国




3、静态方法

静态方法只能通过类名来调用

4、静态代码块

后面跟着一段代码,这段代码只会初始化一次,且在类被第一次装载时

 

上一篇:MySQL存储引擎


下一篇:调用api接口获取IP地址的归属地