日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA和遮掩_JAVA 你不知道的秘密 覆写,重载,隐藏,遮蔽,遮掩

發布時間:2023/12/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA和遮掩_JAVA 你不知道的秘密 覆写,重载,隐藏,遮蔽,遮掩 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

覆寫(override)

一個實例方法可以覆寫(override)在其超類中可訪問到的具有相同簽名的所有實例方法,從而使能了動態分派(dynamic dispatch);換句話說,VM 將基于實例的運行期類型來選擇要調用的覆寫方法。覆寫是面向對象編程技術的基礎,并且是唯一沒有被普遍勸阻的名字重用形式:

class Base {public void f() { }}class Derived extends Base {public void f() { } // overrides Base.f()}

隱藏(hide)

一個域、靜態方法或成員類型可以分別隱藏(hide)在其超類中可訪問到的具有相同名字(對方法而言就是相同的方法簽名)的所有域、靜態方法或成員類型。隱藏一個成員將阻止其被繼承:

class Base {public static void f() { }}class Derived extends Base {private static void f() { } // hides Base.f()}

重載(overload)

在某個類中的方法可以重載(overload)另一個方法,只要它們具有相同的名字和不同的簽名。由調用所指定的重載方法是在編譯期選定的:

class CircuitBreaker {public void f(int i) { } // int overloadingpublic void f(String s) { } // String overloading}

遮蔽(shadow)

一個變量、方法或類型可以分別遮蔽(shadow)在一個閉合的文本范圍內的具有相同名字的所有變量、方法或類型。如果一個實體被遮蔽了,那么你用它的簡單名是無法引用到它的;根據實體的不同,有時你根本就無法引用到它:

class WhoKnows {static String sentence = "I don't know.";public static woid main(String[ ] args) {String sentence = “I know!”; // shadows static fieldSystem.out.println(sentence); // prints local variable}}

盡管遮蔽通常是被勸阻的,但是有一種通用的慣用法確實涉及遮蔽。構造器經常將來自其所在類的某個域名重用為一個參數,以傳遞這個命名域的值。這種慣用法并不是沒有風險,但是大多數Java 程序員都認為這種風格帶來的實惠要超過其風險:

class Belt {private final int size;public Belt(int size) { // Parameter shadows Belt.sizethis.size = size;}}

遮掩(obscure)

一個變量可以遮掩具有相同名字的一個類型,只要它們都在同一個范圍內:如果這個名字被用于變量與類型都被許可的范圍,那么它將引用到變量上。相似地,一個變量或一個類型可以遮掩一個包。遮掩是唯一一種兩個名字位于不同的名字空間的名字重用形式,這些名字空間包括:變量、包、方法或類型。如果一個類型或一個包被遮掩了,那么你不能通過其簡單名引用到它,除非是在這樣一個上下文環境中,即語法只允許在其名字空間中出現一種名字。遵守命名習慣就可以極大地消除產生遮掩的可能性:

public class Obscure {static String System; // Obscures type java.lang.Systempublic static void main(String[ ] args) {// Next line won't compile: System refers to static fieldSystem.out.println(“hello, obscure world!”);}}

總結

以上是生活随笔為你收集整理的JAVA和遮掩_JAVA 你不知道的秘密 覆写,重载,隐藏,遮蔽,遮掩的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。