3.6 Java static关键字-静态变量

来源:互联网 发布:263网络会议室 编辑:程序博客网 时间:2024/05/29 12:36

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