如何理解接口抽象類和關鍵字?
按照我對提問的理解,應該是想要知道兩個問題:一、接口與抽象類的區別,二、java關鍵字怎么理解。(雖然不知道是不是一定是您想要的,但至少帶給您一些幫助吧)
首先來看第一個,接口與抽象類的區別:
一、抽象類
抽象類是為了繼承而存在的,是用來捕捉子類通用性的。必須在類前用abstract關鍵字修飾,它不能被實例化,只能被用作子類的超類,可以將它看成是用來創建繼承層級里子類的模版。
雖然包含了抽象方法的類就是抽象類,但不意味著抽象類中只能存在抽象方法,它跟普通類一樣,也可以擁有自己的成員方法和變量。
如果一個類繼承于一個抽象類,那么子類必須要實現父類的抽象方法,否則子類必須也定義為abstract類。
二、接口
接口就是平時我們提供別人調用的方法。可以將其想象成抽象方法的集合,使用interface關鍵在修飾,如果一個類實現了某個接口,那么就必須實現接口中的方法,java允許一個類實現多個接口。
三、兩者的區別總結
1、一個類只能繼承一個抽象類,但是可以實現多個接口;
2、抽象類中可以包含抽象方法和非抽象方法,但是,接口中的所有方法均為抽象的;
3、抽象類中可以包含靜態代碼塊和靜態方法,而接口則不允許。
四、何時使用抽象類,何時用接口
1)如果你想讓一些方法有默認的實現,那么請使用抽象類;
2)如果你想實現多重繼承,那么請使用接口。
五、最后說下關鍵字
java中的關鍵字很多,比如,有訪問控制的:private、public、protected;有類、方法、變量修飾符的:class、abstract、interface、static;有程序控制的:for、while、continue、break等等,這里就不一一列舉了。
由上述看來,關鍵字可以理解為事先定義好的有特殊含義的字符,它們可以用來被java所認識,用來表示一種數據類型或者程序結構的。
以上是個人對問題的一些簡單理解,希望能有所幫助。