導航:首頁 > 編程語言 > java初始化基類

java初始化基類

發布時間:2024-10-02 20:47:35

A. java面試 碰到過哪些異常

算術異常:ArithmeticException
空指針異常:NullPointerException
類型強制轉換異常:ClassCastException
數組負下標異常:NegativeArrayException
數組下表越界異常:
違背安全原則異常:SecturityException
文件已結束異常:EOFException
文件未找到異常:FileNotFoundException
字元串轉換為數字異常:NumberFormatException
操作資料庫異常:SQLException
輸入輸出異常:IOException
方法未找到異常:NoSuchMethodException
抽象方法錯誤,當應用試圖調用抽象方法時拋出:java.lang.AbstractMethodError
用來指示一個斷言失敗的問題:java.lang.AssertionError
類循環依賴錯誤:java.lang.ClassCircularityError
類格式錯誤:java.lang.ClassFormatError
所有錯誤的基類,用於標識嚴重的程序運行問題:java.lang.Error
初始化程序錯誤:java.lang.ExceptionInInitializerError
違法訪問錯誤:java.lang.IllegalAccessError
不兼容的類變化錯誤:java.lang.IncompatibleClassChangeError
實例化錯誤:java.lang.InstantiationError
內部錯誤:java.langInternalError
連接錯誤:java.lang.LinkageError
未找到類定義錯誤:java.lang.NoClassDefFoundError
域不存在錯誤:java.lang.NoSuchFieldError
方法不存在錯誤:java.lang.NoSuchMethodError
內存不足錯誤:java.lang.OutOfMemoryError
堆棧溢出錯誤:java.lang.StackOverflowError
線程結束:java.lang.ThreadDeath
未知錯誤:java.lang.UnknownError
未滿足的鏈接錯誤:java.langUnsatisfiedLinkError
不支持的類版本錯誤:java.lang.UnsupportedClassVersionError
驗證錯誤:java.lang.VerifyError
虛擬機錯誤:java.lang.VirtualMechineError
算術條件異常:java.lang.ArithmeticException
數組索引越界異常:java.lang.
數組存儲異常:java.lang.ArrayStoreException
類造型異常:java.lang.ClassCastException
找不到類異常:java.lang.NotFoundException
不支持克隆異常:Java.lang.CloneNotSupportedException
枚舉敞亮不存在異常:java.lang.
根異常:java.lang.Exception
違法的訪問異常:java.lang.IllegalAccessExcetion
違法的監控狀態異常:java.lang.IllegalMonitorStateException
違法的狀態異常:java.lang.IllegalStateException
違法的線程狀態異常:java.lang.IllegalThreadStateException
索引越界異常:java.lang.IndexOutOfBoundsException
實例化異常:java.lang.InstantiationException
被中止異常:java.lang.InterruptedException
數組大小為負值異常:java.lang.NegativeArraySizeException
屬性不存在異常:java.lang.NoSuchFieldException
運行時異常:java.lang.RuntimeException
安全異常:java.lang.SecurityException
類型不存在異常:java.lang.TypeNotPresentException

B. java中的復用類是什麼意思

代碼復用能夠大大簡化我們的工作。面向對象的語言中一般是通過對類的重復使用來達到代碼復用的目的的,Java也不例外。在Java中,復用類有兩種方式,合成(has-a)與繼承(is-a)。合成就是在新的類中直接創建舊類的對象,這里我們復用的只是代碼的功能而不是它的形式。而繼承是在原有的類的基礎上建立一個新類,新類具有舊類的形式,但也加入了一些新的特性。這一章介紹的主要就是合成與繼承方面的知識。

一、合成所使用的語法

合成的語法很簡單,只要把要復用的類的對象的引用直接放到新類里就可以了。當然僅僅這樣還是不夠的,我們還要創建這個類的對象讓那個引用來指向它。因為Java不會幫我們自動創建一個預設的對象,它只會自動替我們把欄位中的引用初始化為null。為引用賦值可以在三個地方,一個就是在定義這個引用的時候,另一個是在構造函數中,第三個地方就是在即將要使用這個對象之前。為了防止忘記在使用前為引用賦值,我們一般應該在前兩種場合來創建對象。如果我們要創建的這個對象會花費很大開銷,而且又可能不是每次都需要創建它的話,我們可以考慮第三種方式來創建這個對象。

二、繼承所使用的語法

繼承是Java中的重要部分,因為Java是使用單根體系的(C++不是這樣,因為它要保持向C的兼容),所以我們定義的每一個類都是繼承自Java中的根類Object類。在定義一個繼承自已有的類的類時,要使用extends關鍵字,其後跟上基類的名字,這樣表示新定義的這個類是繼承自那個基類。在Java中不允許多重繼承(C++中允許),也就是說它不允許一個類擁有多於一個的基類,這點劣勢可以用介面來彌補,因為Java允許一個類實現任意多個介面。

一個子類會自動獲得基類中的全部欄位與方法(那些由訪問控制符控制的對子類而言不可見的成員也會獲得,只是不可見,用不了),這也就是對基類中代碼的復用。除了自動獲得自基類的代碼外,子類中還可定義新的成員,也可以覆寫基類中的方法(所謂覆寫指的是方法的聲明部分一樣但實現不一樣),這樣可以讓相同簽名的方法擁有不一樣的形為。

因為子類自動擁有了基類的成員,因此在子類中自然就可以調用基類的方法。如果這個方法在子類中被覆寫過,那編譯器知道你是要調用哪個方法呢?Java提供了super關鍵字在類中表示該類的基類的引用,我們可以通過這個關鍵字來明確表示我們要用到的是基類中的成員。如果不寫super的話,那編譯器將會理解為嵌套調用。

這里有個題外話。在Java程序中常常是用public類中的main()方法做為整個程序的入口。這樣的靜態main()方法並不是非得要在public類中才能出現的,靜態的main()方法可以做所有類的入口(但只能是main(),而不能是其它名字的什麼靜態方法)。比如一個程序有多個class組成,我們要對其中的某個class進行單元測試時,我們就可以在這個class文件中加入main(),編譯後生成這個類的.class文件,在控制台通過java來運行它就是了。

子類繼承了一個基類後便擁有了基類中的成員,也就可以通過創建的子類對象來訪問基類中可見的成員。Java是怎樣做到這一點的呢?在我們創建一個子類對象的時候,這里創建的已經不是一個類的對象了,它還會創建這個類的基類的對象,這個基類的對象創建後被包括在子類的對象中。也就是說創建的子類的對象擁有其基類全部的成員(從這就可以知道為什麼可以上傳),但是子類對象只能訪問基類中它可見的成員。那麼在創建一個這樣的對象時,子類和基類對象創建的順序是怎麼樣的呢?為了能夠正確的初始化基類,一般會調用基類的構造函數來進行初始化。Java中在調用子類的構造函數時首先會自動的調用基類的構造函數,並且這樣的過程是層層傳遞的。比如C繼承了B,而B又繼承了A,在創建C的對象時,C的構造函數會首先調用B的構造函數,這時B的構造函數又會首先調用A的構造函數。(如果基類中沒有默認構造函數,編譯時就會報錯。)但是這里自動調用的都是基類的默認構造函數(無參的),如果我們想調用基類的某個帶參數的構造函數又該怎麼辦呢?上面提到可以用super來代替基類的引用,與在構造函數中通過this調用本類其它構造函數的形式一樣,我們可以通過super來調用基類帶參數的構造函數,比如「super(i, j)」。與調用本類的其它構造函數一樣,對基類構造函數的顯示調用也需要放在子類構造函數的最前面,在它之前不能有任何東西,如果基類的構造函數會拋出異常需要捕獲的話,就會比較麻煩。

C. java中基類和超類的區別

基類、超類、父類都是一個意思,不同說法而已。

比如:
class B{}
class A extends B{}
這就可以說B是A的基類,B是A的超類,B是A的父類;反過來,A就是B的子類。

補充:Java是一種可以撰寫跨平台應用軟體的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。

閱讀全文

與java初始化基類相關的資料

熱點內容
ps入門必備文件 瀏覽:348
以前的相親網站怎麼沒有了 瀏覽:15
蘋果6耳機聽歌有滋滋聲 瀏覽:768
怎麼徹底刪除linux文件 瀏覽:379
編程中字體的顏色是什麼意思 瀏覽:534
網站關鍵詞多少個字元 瀏覽:917
匯川am系列用什麼編程 瀏覽:41
筆記本win10我的電腦在哪裡打開攝像頭 瀏覽:827
醫院單位基本工資去哪個app查詢 瀏覽:18
css源碼應該用什麼文件 瀏覽:915
編程ts是什麼意思呢 瀏覽:509
c盤cad佔用空間的文件 瀏覽:89
不銹鋼大小頭模具如何編程 瀏覽:972
什麼格式的配置文件比較主流 瀏覽:984
增加目錄word 瀏覽:5
提取不相鄰兩列數據如何做圖表 瀏覽:45
r9s支持的網路制式 瀏覽:633
什麼是提交事務的編程 瀏覽:237
win10打字卡住 瀏覽:774
linux普通用戶關機 瀏覽:114

友情鏈接