java中的static

java

/*当成员被静态修饰后,就多了一个调用的方式,除了被对象调用外,
还可以被类名调用,类名,静态成员
static 的特点
1.随着类的加载而加载,
也就是随着类的消失而消失,说明她的生命周期最长,
2.优先于对象存在
明确一点,静态是先存在,对象是后存在。
3.被所有的对象所共享,
4.可以直接被类名所调用

实类变量和类变量的的区别

1. 存放位置
类变量随着类的加载存在于方法中
实类变量随着对象的建立存在于堆内存中
2.生命周期
类变量的生命周期最长,随着类的消失而消失
实类变量随着对象的消失而消失

静态的使用注意事项
1.静态的方法只能访问静态的成员和成员方法
非静态既可以访问静态成员又可以非静态成员
2.静态方法中不可以定义this和super这样的关键字
因为静态优先于对象存在
3.主函数是静态的
静态的成员方法的有利有弊
利:对对象的共享数据,进行单独空间的存储,节省空间,没有必要对每个变量存储一份,
    可以被直接被类名调用
弊:生命周期过长,访问出现局限性(静态虽好,但只能访问静态的成员)*/
class person{
    String name;//成员变量,实例变量。。当类加载时先不会存在
    static String country = "CN";//静态的成员变量,类变量
    public static void show(){
        System.out.println("::::"+name);
        System.out.println(name+":::"+country);
    }
    public void haha(){

    }

}
class StaticDome{
    public static void main(String [] args){
        person p = new person();
        p.name = "miaochuang";
        p.show();
        System.out.println(p.country);

        System.out.println(person.country);
    }
}

以上是 java中的static 的全部内容, 来源链接: utcz.com/z/390189.html

回到顶部