关于static关键字

static用于修饰成员(成员变量,成员函数),不能修饰局部变量
被修饰的变量和函数是静态的,可被多个对象共享,节省内存
可以直接被类名调用
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
特点:
   生命周期和所属类相同
   优先于对象存在
   为所有对象共享
   直接被类名调用
注意:
   静态方法不能访问非静态变量和方法!
   静态方法中不能有this,super关键字,应静态方法先于对象存在
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
什么时候使用静态
   当对象中有共享数据时,即相同的东西,用静态来定义。
   非静态数据存在于堆内存中。
   当函数内部没有访问到非静态数据时,该函数可以定义为静态的。
例如:创建一个工具类,工具里的方法都定义为静态,而调用此类并不用
      创建对象,可以把构造方法私有化来避免创建对象。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

静态代码块
格式:

  

static
{
    语句;
}

功能:在类加载的时候运行,只运行一次,对类进行初始化
注意:静态代码块,还是不能引用非静态成员

代码举例:

    

 1 class Test
 2 {
 3     static
 4     {
 5         System.out.println("类已加载");
 6     }
 7     public static void show()
 8     {
 9         System.out.println("aa");    
10     }
11 }
12 class TestEntr
13 {
14     public static void main(String[] args)
15     {
16         new Test();    //运行  此处生成对象用到类中的构造方法,
17         Test.show();   //运行  用到类中的show()
18         Test t = null; //不运行,所谓类加载是指用到类中的内容
19                 //而此处只是生成一个类的引用而未用到类中的内容
20     }
21 }

 

posted @ 2014-02-27 21:35  风痕影默  阅读(221)  评论(0编辑  收藏  举报
友情链接:极限BT