1.靜态域:如果将域定義為static,每個類隻有一個這樣的域。而每個對象對于所有的執行個體域卻有自己的一份拷貝。
2.靜态變量:就是聲明為靜态的可以進行改變的變量(什麼??!跟沒說一樣!!我去,好吧,我承認!!)
例子:private static int nextId=1;
3.靜态常量:同靜态變量相比,靜态常量一經指派就不可改變;
例子:public static final double PI=3.14159265358979213846;
4.靜态方法:靜态方法是一種不能向對象實施操作的方法。
例子:main方法,Math類的pow方法
main:public static void main(String[] args);
pow:public static double pow(double args1,double args2);
注意:有兩種情況考慮使用靜态方法:
1:一個方法不需要通路對象狀态,其所需參數都是通過顯式參數提供。
2:一個方法隻需要通路類的靜态域。
5.工廠方法:額,這是啥,說實話我也沒太看懂,不過看了會用,個人了解為使用這個方法建立一個格式化對象,然後這個對象可以接受不同的參數做格式化處理,就像進廠"加工"後然後再"出廠"一樣,就得到了“産品”。
例子:代碼:
package com.zhangyanjie;
import java.text.NumberFormat;
public class FactoryMethod {
public static void main(String[] args) {
NumberFormat currencyFormatter=NumberFormat.getCurrencyInstance();
NumberFormat percentFormatter=NumberFormat.getPercentInstance();
double x=0.1;
System.out.println(currencyFormatter.format(x));
System.out.println(percentFormatter.format(x));
}
}
運作結果:
6.main方法:main方法不對任何對象進行操作。事實上,在啟動程式時還沒有任何一個對象。靜态的main方法将執行并建立程式所需要的對象。
小提示:可以在自己寫的每個類中都加入main方法,然後進行測試自己的類,這并不會影響其他類使用這個類。