Java 类变量赋值方法操作demo

概念:

         类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。静态变量除了被声明为常量外很少使用。常量是指声明为public/private,final和static类型的变量。常量初始化后不可改变。静态变量储存在静态存储区。经常被声明为常量,很少单独使用static声明变量。静态变量在第一次被访问时创建,在程序结束时销毁。与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型。默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。静态变量可以通过:ClassName.VariableName的方式访问。类变量被声明为public static final类型时,类变量名称一般建议使用大写字母。如果静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。

 

class A {
    public static String StaticA = "A";

    static {
        StaticA = "A1";
    }

    public A() {
        StaticA = "A2";
    }

    public static void Change() {
        StaticA = "A3";
    }

    public static void Change2() {
        StaticA = "A4";
    }
}

class B {
    public static final String StaticB;

    static {
        StaticB = "StaticB";
    }
}

public class StaticTest {
    private static Integer StaticInt = 1;
    private Integer random = 1;

    public StaticTest() {
        StaticInt++;
        random++;
    }

    public static void main(String[] args) {
        System.out.println("类变量与对象变量的值变化");
        StaticTest test = new StaticTest();
        System.out.println("实例test:StaticInt:" + test.StaticInt + "----random:" + test.random);

        StaticTest test2 = new StaticTest();
        System.out.println("实例test2:StaticInt:" + test.StaticInt + "----random:" + test.random);


        System.out.println("静态变量赋值");
        System.out.println("静态语句块起作用:" + A.StaticA);

        A a = new A();
        System.out.println("构造器起作用:" + a.StaticA);

        a.Change();
        System.out.println("静态方法1起作用:" + A.StaticA);

        a.Change2();
        System.out.println("静态方法2起作用:" + A.StaticA);

        System.out.println("常量赋值");
        System.out.println("静态语句赋值:" + B.StaticB);
    }
}

timit@TIMI:/home/workplace$ java StaticTest 
类变量与对象变量的值变化
实例test:StaticInt:2----random:2
实例test2:StaticInt:3----random:2
静态变量赋值
静态语句块起作用:A1
构造器起作用:A2
静态方法1起作用:A3
静态方法2起作用:A4
常量赋值
静态语句赋值:StaticB

发布了101 篇原创文章 · 获赞 16 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章