静态变量、常量和方法

静态变量、常量和方法

static关键字修饰的变量、常量和方法被称作静态变量、静态常量和静态方法。还可以用static来修饰代码块,static修饰的代码块叫静态代码块

静态变量、静态常量和静态方法称为静态成员。静态成员属于类所有,区别于个别对象,可以在本类或其他类使用类名和“.”运算符调用静态成员。

使用静态成员的作用通常是为了提供共享数据和方法。

静态成员都存放在“静态区”,具有全局作用范围,内存中静态区在程序运行结束之后才会释放。

注意:1、static只能修饰在类里定义的成员部分,包括成员变量、方法、内部类和初始化块,不能将局部变量使用static修饰。
2、静态变量属于类,随类的初始化而初始化(静态代码块中);实例变量属于对象,随对象的初始化而初始化(构造方法或代码块中)。

静态变量

静态变量又叫类变量,属于类所有,类的所有对象共享同一个类变量。
例如:

public class Test {
    public static void main(String[] args) {
        A a1 = new A();
        A a2 = new A();

        System.out.println(a1.num);
        System.out.println(a2.num);

        a1.num = 9;

        System.out.println(a1.num);
        System.out.println(a2.num);
    }
}

class A {
    static int num = 0;
}

运行结果:

从运行结果可以看到,类A中定义了一个static修饰的静态变量num,初始值为0,并且实例化了两个类A的对象a1和a2,一开始a1和a2调用num打印的值都是0,执行了a1.num = 9;之后a1和a2调用num打印的值都是9了。

注意:不建议使用对象来调用类变量,建议使用类名和“.”运算符调用,例如:A.num。

静态常量

静态常量由static和final共同修饰,其值在程序运行过程中不可改变,并且必须在定义的时候显示初始化。静态常量和静态变量一样属于类,类对象共享。

静态方法

静态方法是类中由static修饰的方法,静态方法中不可以调用非静态成员变量。
例如:

class A {
    static int num = 0;
    static final int NUM = 99;
    private int number =999;
    public static void show() {
        System.out.println("num:" + num);
        System.out.println("NUM:" + NUM);
        System.out.println("number" + number);//不能调用非静态常量
    }
}

main()方法

main()方法是Java类中的一个特殊的静态方法,其声明为:
public static void main(String[] args) {}

main()方法是程序的入口,程序在运行的时候,第一个执行的方法就是main()方法,方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数。

猜你喜欢

转载自blog.csdn.net/is_Javaer/article/details/82743619
今日推荐