1. 程式人生 > >java基礎-靜態變數和靜態常量以及靜態方法的理解

java基礎-靜態變數和靜態常量以及靜態方法的理解

靜態變數是用static修飾符修飾的變數,靜態常量是static  final修飾的變數; 宣告和訪問許可權:

靜態變數:必須是成員變數,static不能修飾區域性變數。靜態成員變數可以通過類名訪問,也可以通過物件名進行訪問。

靜態方法:用static修飾的方法,靜態方法可以直接訪問靜態成員變數而無法直接訪問非靜態成員變數,智慧使用例項化的物件去訪問非靜態的變數(在非靜態方法中可以直接訪問靜態成員變數和非靜態成員變數),同理,靜態方法也不能直接訪問非靜態方法,需要通過例項化的物件去呼叫非靜態的方法。

當方法中有與靜態成員變數同名的變數,按照就近原則,如果要訪問靜態成員變數,則可以使用類名訪問。
靜態常量:指向了固定不可變的記憶體空間,但其值可變。

eg:    static final String a = new String[]{"abc"};          a[0]="def";

這樣是可以的

final是唯一能夠修飾區域性變數的修飾符

用static final修飾的方法不能重寫,可以在不例項化物件的情況下訪問該方法。