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

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

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

B、修飾方法(method) (北大青鳥北京通州校區(qū))
1、該方法可以被繼承,但是不能被覆蓋。
2、用途:一個(gè)類不允許子類覆蓋該方法,則用final來修飾
3、好處:可以防止繼承它的子類修改該方法的意義和實(shí)現(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。包括靜態(tài)變量、實(shí)例變量和局部變量這三種。
2、特點(diǎn):可以先聲明,不給初值,這種叫做final空白。但是使用前必須被初始化。一旦被賦值,將不能再被改變。

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

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

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

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

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