黑马程序员技术交流社区

标题: java静态数据全解释 [打印本页]

作者: 18255007004    时间: 2015-1-9 12:50
标题: java静态数据全解释
/*
静态修饰符: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();
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2