搜尋
首頁JavaJava入門java修飾符知識點匯總

java修飾符知識點匯總

Aug 04, 2020 pm 04:58 PM
java修飾符

java修飾符知識點匯總

java中的修飾符分為類別修飾符,欄位修飾符,方法修飾符。根據功能的不同,主要分為以下幾種:

(推薦教學:java入門教學

權限存取修飾符(可以用來修飾類別、方法和欄位)

java修飾符知識點匯總

public:對任何人都是可用的。

protect:繼承的類別可以存取以及和private一樣的權限。

default:套件存取權限,即在整個套件內均可存取。

private:除類型創建者和類型的內部方法之外的任何人都不能存取的元素。

用法彙總:

修飾類別

頂層類別只能用public 修飾,頂級類別不能使用private 和protected 修飾。

外部類別可以被public修飾或預設不寫,不能用private和protected。

內部類別可為靜態,可用protected和private修飾。

修飾方法

通常方法可以被四個存取修飾符修飾,建構方法也可以被四個存取修飾符修飾。

抽象類別中的抽象方法不能被private修飾,可以被其他三個修飾。

而介面中的方法只能被public修飾(預設也是public)。

修飾屬性

屬性可以被四個修飾符修飾,介面中的屬性只能被public修飾(預設也是public)。

修飾程式碼區塊

程式碼區塊不能被任何修飾符修飾(因為程式碼區塊裡面是屬性還有方法,這個屬性和方法都有自己的修飾符)。

建構程式碼區塊的作用:可以初始化非靜態屬性,建構程式碼區塊優先於建構函式執行,可以放在建構函式中。

靜態程式碼區塊的作用:可以初始化靜態屬性,類別載入時加載,不可以放在建構函式中。

(影片教學推薦:java影片教學

final

修飾類別:最終類,最終類別不能被繼承。最終類別通常完成一定標準功能的類別,例如Java庫中的數學類Math等。修飾方法:用final修飾的方法不能被繼承,不能被重寫(例如Object中的wait()),但是可以重載。常數:定義局部常數用final,定義全域常數用static final (或final static)。

static

修飾類別:可以修飾內部類別修飾屬性:static可以修飾任何屬性。修飾方法:不能修飾抽象方法,不能修飾建構方法。修飾程式碼區塊:被修飾的程式碼區塊叫做靜態程式碼區塊

abstract

#修飾類別(抽象類別):抽象類別不能被實例化。抽象類別就是用來被繼承的。修飾方法(抽象方法):能被修飾的方法叫做抽象方法,只有方法的聲明,沒有方法的實現,以分號結束。不能修飾:不能修飾屬性、私有方法、建構子、靜態方法、final 方法。

abstract不可以和哪些關鍵字共存?

final:如果方法被抽象,就需要被覆寫,final修飾就不能被覆寫。

private:如果函數被私有了,子類別無法直接訪問,無法覆寫。

static:類別方法,直接呼叫抽象方法沒有意義。

以上是java修飾符知識點匯總的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)