3.6 Java static关键字-静态变量


  • 区别
    • 生命周期不同
      • 成员变量随着对象的创建而存在,随着对象的被回收而释放
      • 静态变量随着的加载而存在,随着类的消失而消失
    • 调用方式不同
      • 成员变量只能被对象调用
      • 静态变量可以被对象调用,还可以被类名调用
    • 别名不同
      • 成员变量也成为实例变量
      • 静态变量成为类变量
    • 数据存储位置不同
      • 成员变量存储在堆内存的对象中,也就是对象的特有数据
      • 静态变量存储在方法区(的静态区),所以也叫对象的共享数据
    • 在调用时不会有this(即对象调用)

主函数的特殊之处:
1、格式是固定的
2.被jvm所识别和调用的
3.public,因为权限必须是最大的
4.static因为不需要对象的,直接用主函数所属类名调用即可
5.main函数名,不需要关键字
6.String[] args:这是主函数的参数列表,是一个数组类型的参数,而且元素都是字符串类型
STATIC内存图解


例代码

package Person;

public class Person {

    private int age;
    private String name;
    static String country = "CN";
    Person(){
        this.name = "baby";
        this.age = 1;
        System.out.println("Person run");
    }
    Person(String name){
        this.name = name;
        System.out.println("Person(n) run");
    }
    Person(String name,int age){
        this(name);

        this.age = age;
        System.out.println("Person(n,a) run");
    }
    public void show(){
        System.out.println(Person.country + ":" + name + ":" + age);
    }
    public static void mathod() {
        System.out.println(Person.country);
    }

}

class ConsDemo{
    public static void main(String[] args){
        Person.mathod();
        Person p = new Person();
        p.show();
    }
}

猜你喜欢

转载自blog.csdn.net/a245293206/article/details/78448125