JAVA基礎之Static
阿新 • • 發佈:2018-10-19
共享 創建 輸出 -- 私有變量 oid print 名稱 一個
static關鍵字
- static:靜態成員,類成員
public static int price;//靜態屬性或者叫類屬性 public static String outName(){//靜態方法和類方法 }
特點
- 類產生的對象共享同一個內存空間
- 類加載時產生,銷毀時釋放,聲明周期長
- 只能加在屬性或者方法名稱的前面
- 在成員方法(非靜態方法)中可以調用靜態方法
- 在靜態方法中不可以調用非靜態成員,只能調用靜態成員
代碼實現
類
package com.imooc.animal; public class cat { //聲明私有變量 public static String name; public String outName() { return this.name; } }
主程序
package com.imooc.animal; public class catTest { public static void main(String[] args) { cat one=new cat();//聲明並實例化 cat.name="帥虎";//這裏既可以用對象名one,也可以用類名(cat--推薦) //同理,調用靜態方法的時候也可以用類名或者對象名 System.out.println(one.outName()); } }
輸出:
帥虎
構造代碼塊和普通代碼塊
普通代碼塊:代碼塊內按照語句的順序執行
構造代碼塊: 在對象被創建的時候調用,優於構造方法執行
靜態代碼塊: static+構造代碼塊,優於構造代碼塊執行
類:
package com.imooc.animal; public class cat { public cat() { System.out.println("我是構造方法"); } {//構造代碼塊 System.out.println("我是構造代碼塊");//首先輸出 } static {//靜態代碼塊 System.out.println("我是靜態代碼塊"); } }
主函數:
package com.imooc.animal; public class catTest { public static void main(String[] args) { cat two=new cat(); } }
結果:
我是靜態代碼塊
我是構造代碼塊
我是構造方法
JAVA基礎之Static