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