亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語(yǔ)言

java知識(shí)點(diǎn)講解

時(shí)間:2024-07-21 13:00:44 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

java知識(shí)點(diǎn)講解

  本文主題:

java知識(shí)點(diǎn)講解

  一.什么是重載

  二.什么是覆蓋

  三.兩者之間的區(qū)別

  重載(overload):

  在一個(gè)類(lèi)中,如果出現(xiàn)了兩個(gè)或者兩個(gè)以上的同名函數(shù),只要它們的參數(shù)的個(gè)數(shù),或者參數(shù)的類(lèi)型不同,即可稱(chēng)之為該函數(shù)重載了。

  即當(dāng)函數(shù)同名時(shí),只看參數(shù)列表。和返回值類(lèi)型沒(méi)關(guān)系。

  重載使用的時(shí)候需要注意:

  1、在使用重載時(shí)只能通過(guò)不同的參數(shù)樣式。例如,不同的參數(shù)類(lèi)型,不同的參數(shù)個(gè)數(shù),不同的參數(shù)順序。

  2、方法的異常類(lèi)型和數(shù)目不會(huì)對(duì)重載造成影響。

  3、對(duì)于父類(lèi)來(lái)說(shuō),子類(lèi)可以重載與繼承父類(lèi)中的方法同名的方法,如果某一方法在父類(lèi)中是訪(fǎng)問(wèn)權(quán)限是priavte,那么就不能在子類(lèi)對(duì)其進(jìn)行重載,如果定義的話(huà),也只是定義了一個(gè)新方法,而不會(huì)達(dá)到重載的效果。

  覆蓋(override):

  當(dāng)子父類(lèi)中出現(xiàn)了一模一樣的方法時(shí),建立子類(lèi)對(duì)象會(huì)運(yùn)行子類(lèi)中的方法。好像父類(lèi)中的方法被覆蓋掉一樣。所以這種情況,是函數(shù)的另一個(gè)特性:覆蓋。

  什么時(shí)候使用覆蓋呢?

  當(dāng)子類(lèi)繼承父類(lèi)時(shí),父類(lèi)的功能內(nèi)容需要修改時(shí),可以通過(guò)覆蓋來(lái)實(shí)現(xiàn)

  在方法覆蓋時(shí),注意兩點(diǎn):

  1、子類(lèi)覆蓋父類(lèi)時(shí),必須要保證,子類(lèi)方法的權(quán)限必須大于等于父類(lèi)方法權(quán)限可以實(shí)現(xiàn)繼承。否則,編譯失敗。

  2、覆蓋時(shí),要么都靜態(tài),要么都不靜態(tài)。 (靜態(tài)只能覆蓋靜態(tài),或者被靜態(tài)覆蓋)YES

  3、被final修飾的方法是一個(gè)最終方法,不可以被覆蓋。

  4、子類(lèi)覆蓋父類(lèi)的方法時(shí),只能比父類(lèi)拋出更少的異常,或者是拋出父類(lèi)拋出的異常的子異常,因?yàn)樽宇?lèi)可以解決父類(lèi)的一些問(wèn)題,不能比父類(lèi)有更多的問(wèn)題。

  重載和覆蓋的區(qū)別:

  1、方法的覆蓋是子類(lèi)和父類(lèi)之間的關(guān)系,是垂直關(guān)系;方法的重載是同一個(gè)類(lèi)中方法之間的關(guān)系,是水平關(guān)系。

  2、覆蓋只能由一個(gè)方法,或只能由一對(duì)方法產(chǎn)生關(guān)系;方法的重載是多個(gè)方法之間的關(guān)系。

  3、覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。

  4、覆蓋關(guān)系中,調(diào)用那個(gè)方法體,是根據(jù)對(duì)象的類(lèi)型來(lái)決定;重載關(guān)系,是根據(jù)調(diào)用時(shí)的實(shí)參表與形參表來(lái)選擇方法體的。

  以上就是小編為大家?guī)?lái)的深入理解java中的重載和覆蓋全部?jī)?nèi)容了,希望大家多多支持~

【java知識(shí)點(diǎn)講解】相關(guān)文章:

java ClassLoader機(jī)制講解07-31

java面向?qū)ο缶幊讨v解06-18

簡(jiǎn)單講解Java的Future編程模式方案09-30

C語(yǔ)言知識(shí)點(diǎn)講解07-25

java多線(xiàn)程同步塊實(shí)例講解素材08-28

舉例講解Java中的多線(xiàn)程范文欣賞06-16

Java基礎(chǔ)知識(shí)點(diǎn)07-07

Java基礎(chǔ)語(yǔ)法知識(shí)點(diǎn)07-31

使用Java編寫(xiě)GUI對(duì)話(huà)框教程講解10-15

講解Java的Socket網(wǎng)絡(luò)編程的多播與廣播實(shí)現(xiàn)09-03