1. 程式人生 > >java static關鍵字修飾方法

java static關鍵字修飾方法

java static關鍵字修飾方法

1.java static關鍵字修飾方法的特性

  1. 隨著類的載入而載入,在記憶體中也是獨一份
  2. 可以直接通過“類.類方法”的方式呼叫
  3. 在靜態的方法內部可以呼叫靜態的屬性或者靜態的方法,而不能呼叫非靜態的方法。反之,非靜態的方法時可以呼叫靜態屬性或者方法的。
  4. demo
public class TestStatic {
	public static void main(String[] args) {
		SportsMan s1 = new SportsMan("金龍",23);

//		SportsMan.show();//因為這是一個普通的方法,所以不能通過類來呼叫
		s1.show();
		SportsMan.show1();
		s1.show1();
	}
}
class SportsMan{
	//例項變數(隨著物件的建立而被載入的)
	String name;
	int age;
	//類變數
	static String nation;//出生是早於屬性的
	
	public SportsMan(String name, int age) {
		super();
		this.name = name;
		this.age = age;
		this.nation = "China";
	}

	public void show() {
		System.out.println("nation:" + nation);
		info();
		System.out.println("age" + this.age);
		System.out.println("我是一名來自中國的運動員");
	}
	public static void show1() {
		System.out.println("nation:" + nation);
		info();
//		this.show();//報錯,屬性為非靜態
//		System.out.println("age" + this.age);//報錯,屬性為非靜態
		System.out.println("我是一名來自中國的運動員");
	}
	public static void info() {
		System.out.println("我是一個靜態的方法!");
	}
}

2.注意要點

  1. 靜態的結構(static的屬性、方法、程式碼塊、內部類)的生命週期要早於非靜態的結構,同時被回收也要晚於非靜態結構
  2. 靜態的方法內是不可以有this或者super關鍵字的!