java中的static
/*当成员被静态修饰后,就多了一个调用的方式,除了被对象调用外,
还可以被类名调用,类名,静态成员
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