package day06;
/*
static 的特点:
1,随着类的加载而加载
(随着类的消失而消失:说明生命周期最长)
2,优先于对象存在
3,数据被所有对象共享
4,可以直接被类名调用
实例变量和类变量的区别:
1.存放位置不同
类变量随着类的加载而加载存在于方法区中。
实例变量随着对象的加载而加载存在于堆内存中
2.生命周期不同
类变量生命周期最长,随着类的加载而加载随着类的消失而消失
实例变量随着对象而存在。
静态使用注意事项:
1,静态方法只能访问静态成员
2,静态方法中不可以定义this super 关键字
因为静态优先于对象存在,所以不能有这些关键字
3,主函数是静态的
静态有利有弊
利:对象的共享数据进行单独的空间存储,节省空间。没有必要每一个对象中都存储一份
可以被类名调用
弊端:生命周期过长。
访问出现局限。
*/
class Person{
String name;//成员变量,实例变量。
static String country ="CN";//静态成员变量,类变量。
public void show(){
System.out.println(name+""+country);
}
}
public class StaticDemo {
public static void main(String args[]){
Person p = new Person();
p.name = "zhoufeifei";
p.show();
}
}
|
|