1. 程式人生 > >[Java]static、final修飾的方法是否可以被子類繼承、是否可以被子類重寫及final修飾詳解

[Java]static、final修飾的方法是否可以被子類繼承、是否可以被子類重寫及final修飾詳解

static修飾的方法:
1、父類中的靜態方法可以被繼承、但不能被子類重寫。

2、如果在子類中寫一個和父類中一樣的靜態方法,那麼該靜態方法由該子類特有,兩者不構成重寫關係。

final修飾:
1、修飾類表示不允許被繼承。

2、修飾方法表示不允許被子類重寫,但是可以被子類繼承,不能修飾構造方法。

3、修飾變量表示不允許被修改
a)方法內部的區域性變數,使用前被賦值即可(只能賦值一次),沒有必要非得初始化。
b)類中的成員變數(如果沒有在定義時候初始化,那麼只能在構造程式碼塊中或者構造方法中賦值)
c)基本資料型別的變數(初始化賦值之後不能更改)
d)引用資料型別的變數(初始化之後不能再指向另外一個物件,但物件的內容是可以變的)

    final Animal animal = new Animal("老子""吃火鍋");
                animal = new Animal();//這個是錯誤的
                animal.gaiName = "重慶老子";
                animal.gaiEat = "吃重慶火鍋";//這兩句是沒問題的