北大青鳥北京通州校區(qū)學(xué)術(shù)部總結(jié):java中的final、抽象類、接口

北大青鳥北京通州校區(qū)學(xué)術(shù)部提供:

一、final關(guān)鍵字可以用來修飾類、方法、變量。各有不同。
A、修飾類(class)。
1、該類不能被繼承。
2、類中的方法不會被覆蓋,因此默認(rèn)都是final的。
3、用途:設(shè)計類時,如果該類不需要有子類,不必要被擴(kuò)展,類的實現(xiàn)細(xì)節(jié)不允許被改變,那么就設(shè)計成final類

B、修飾方法(method) (北大青鳥北京通州校區(qū))
1、該方法可以被繼承,但是不能被覆蓋。
2、用途:一個類不允許子類覆蓋該方法,則用final來修飾
3、好處:可以防止繼承它的子類修改該方法的意義和實現(xiàn);更為高效,編譯器在遇到調(diào)用fianal方法轉(zhuǎn)入內(nèi)嵌機(jī)制,提高了執(zhí)行效率。
4、北大青鳥北京通州校區(qū)提醒:父類中的private成員方法不能被子類覆蓋,因此,private方法默認(rèn)是final型的(可以查看編譯后的class文件)

C、修飾變量(variable)
1、用final修飾后變?yōu)槌A俊0o態(tài)變量、實例變量和局部變量這三種。
2、特點:可以先聲明,不給初值,這種叫做final空白。但是使用前必須被初始化。一旦被賦值,將不能再被改變。

D、修飾參數(shù)(arguments)
1、用final修飾參數(shù)時,可以讀取該參數(shù),但是不能對其作出修改。(北大青鳥北京通州校區(qū))

二、抽象類&&接口
A、抽象類(abstract class)
1、抽象方法(abstract method):不含方法體的方法,它由繼承它子類根據(jù)需求去實現(xiàn),必須用abstract修飾。
2、抽象類:至少包含一個抽象方法的類(可以包含非抽象方法)。必須用abstract修飾。
3、特點:抽象類不能被實例化(也就是不能new對象);含有抽象方法的類必須聲明為抽象類;一個類只有實現(xiàn)了抽象類中的所有方法才能被實例化,否則它依然是抽象類。(北大青鳥北京通州校區(qū))

B、接口(interface)
1、接口定義:抽象方法和常量值的集合(所有的方法都是抽象方法)。它是一種特殊的抽象類(會生成一個xxx.class文件,編譯器會自動在interface關(guān)鍵字前加上abstract)。
2、特點:
a、接口里的常量默認(rèn)都是public static final來修飾的(如果什么都不寫,編譯器會自動幫你寫上)。
b、接口里的方法默認(rèn)都是public abstract來修飾的(如果是什么都不寫,編譯器會自動幫你寫上)。
c、可以用extends繼承已有的接口。
d、一個類,可以用implements實現(xiàn)一個或多個接口中的所有方法(包括這個接口的父接口中的方法)。
e、一個抽象類,可以implements實現(xiàn)接口中的部分方法
f、一個類,可以extends一個父類的同時implements多個接口,但是extends關(guān)鍵字必須在implements關(guān)鍵字之前。

想要了解北大青鳥好嗎?北大青鳥怎么樣?北大青鳥課程?北大青鳥學(xué)費多少等問題,歡迎您與通州北大青鳥網(wǎng)站在線老師聯(lián)系

北大青鳥網(wǎng)上報名
北大青鳥招生簡章