final關鍵字與繼承的弊端


/*
 final關鍵字:
 1,final是一個修飾符,可以修飾類,方法,變量。
 2,final修飾的類不可以被繼承。(最終類)
 3,final修飾的方法不可被覆蓋。
 4,final修飾的變量是一個常量,只能賦值一次。
 5,用final修飾的變量通常前面加static。

 */

class Fu3
{
    void method()
    {
        //假如是很關鍵的方法 調用了底層系統的資源
    }
}
//而我用繼承可以做一些壞事 將fu3繼承 然後直接將method覆蓋。
//簡而言之 繼承會打破封裝性。
class Zi3 extends Fu3
{
    void method()   {System.out.println("haha");}
    //實際應用例子:
    public static final double PI = 3.1415926; //爲了區分常量變量,常量名全大寫

    void show()
    {
        int x= 9;
        //此時的x還可以繼續被更改,賦值。
        //若被定義成final
        final int y = 9;
        //被定義成最終值,不能被改變。終身爲9
        System.out.println(x);
    }
}

public class FinalDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章