Java final和abstract學習總結

今天覆習了Java基礎知識的final和abstract兩個修飾符,總結如下:

final   用來修飾類、屬性和方法 ;被修飾的都是不能再修改了,最終了,到頭了。

1、final修飾類,這個類不能被繼承。例如:String,StringBuffer,System。
2、final修飾方法,此方法不能被重寫。如Object類中的getClass()方法。
3、final修飾一個屬性,此屬性就是一個常量,一旦被初始化賦值之後,是不能再被修改的。習慣上用大寫字母來聲明這個常量。
    常量賦值方法:
    ①此常量不能使用默認的初始化方法   例:final  int  I; 這樣默認方法是不對的。
    ②可以用顯示的方法賦值,可以用代碼塊賦值,也可以用構造器賦值。
      final  int  I = 100 ;          這樣是可以的
      {  I = 1000;    }              代碼塊賦值
      public D(){ I = 1000;    }   構造器賦值

 

abstract 抽象的,可以用來修飾類和方法 
不能用來修飾屬性,構造器(構造器不能被重寫)
不能和private  final  static 共用

private   子類不能覆蓋或者重寫聲明爲private的方法
final        final是不能被重寫的,abstract是希望被重寫的
static      static可以直接通過類來調用,但是abstract方法是沒有方法體的

1、abstract修飾的類是抽樣類
    此類不可以被實例化
    此類有構造器(所有的類都有構造器)

2、abstract修飾的方法是抽象方法
①格式:沒有方法體,包括{ }  例如:public abstract void eat();
②抽象方法只保留方法的功能,具體的實現交給子類,子類需要重寫此抽象方法;
③若子類繼承抽象類,並重寫了抽象類的所有抽象方法,則此子類可以看成是一個實體類,可以被實例化;
④若子類繼承抽象類,沒有重寫抽象類的全部抽象方法,意味着此類中仍有抽象方法,所以此類必須被定義爲abstract類。

 

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