0
点赞
收藏
分享

微信扫一扫

Java炼体三境之木胎境

斗米 2022-04-02 阅读 19
java

类变量和类方法

类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。

//语法
访问修饰符 static     数据类型 变量名; //*
static    访问修饰符  数据类型 变量名;

访问类变量

类名.类变量名;
​
对象名.类变量名;

static 修饰的静态变量可以被本类的所有对象实例共享

static 类变量在class加载时就生成了

public class Main {
    public static void main(String[] args) {
        
        Child child1 = new Child("sun");
        child1.count++;
        child1.info();
​
        Child child2 = new Child("jing");
        child2.count++;
        child2.info();
​
        Child child3 = new Child("xuan");
        child3.count++;
        child3.info();
​
        System.out.println(child1.count);
        System.out.println(child2.count);
        System.out.println(child2.count);
        System.out.println(Child.count); //类变量,可以通过类名来访问
    }
}
class Child {
    private String name;
    // 定义一个变量 count,是一个类变量(静态变量) static 静态
    // 该变量最大的特点就是会被Child类的所有对象实例共享
    public static int count;
​
    public Child(String name) {
        this.name = name;
    }
​
    public void info() {
        System.out.println(name + "打飞机");
    }
}

实例变量不能通过类名.变量名访问

类变量是在类加载时就初始化了,即使没有创建对象,只要类加载了,就可以使用类变量

类变量的生命周期是随着类的加载而开始,随着类的消亡而销毁

public class Main {
    public static void main(String[] args) {
    
    // 类变量随着class的加载而创建,所以即使没有创建对象实例也可以访问
    System.out.println(A.name);

    A a = new A();
    System.out.println(a.name);
    }
}

class A {
    //类变量的访问必须遵守访问修饰符的访问权限
    public static String name = "百炼成神";
}

​​​​​​​

举报

相关推荐

0 条评论