java學習筆記(六)關鍵字static的使用
阿新 • • 發佈:2019-02-01
package cn.com.postel.wbb.javaextends; public class TestStatic { public static void main(String[] args) { Person p = new Person(); // 只要類一載入就開始執行靜態程式碼塊 System. out.println("name=" + Person.name); // 靜態屬性和靜態方法直接可以用過類名 .的方式呼叫 System. out.println("name is :" + Person.name + "," + Person. staticMethod()); // 非靜態屬性和非靜態方法必須先建立一個例項才可以發出對其呼叫 System. out.println("age is :" + p.getAge() + "," + p.instaticMethod()); /* * 靜態方法不能發出對非靜態方法的呼叫 ,因為呼叫非靜態方法必須先建立例項, * 而靜態方法執行的時候可能這個例項還沒有建立,所以不能從靜態方法發出對非靜態方法的呼叫; * 但是非靜態方法可以發出對靜態方法的呼叫。 * *System.out.println(staticCallInstaticMethod()); */ } public String staticCallInstaticMethod() { return " 靜態方法呼叫非靜態方法 "; } } class Person { // 靜態程式碼塊 static { System. out.println(" 靜態程式碼塊 "); } // 靜態屬性 static String name = "wbb" ; // 非靜態屬性 private int age = 25; // 靜態方法 public static String staticMethod() { return " 靜態方法 "; } // 非靜態方法 public String instaticMethod() { return " 非靜態方法 "; } public int getAge() { return age ; } public void setAge(int age) { this.age = age; } }