java修飾方法的修飾符
Ⅰ java中,方法覆蓋對修飾符有要求嗎
子類復寫父類的方法,不能降低該方法的訪問許可權。也就是說,如果父類的修飾符是protected,那麼子類在復寫後,修飾符就不能是private,但可以提高其訪問許可權,即可以是public。修飾符的范圍關系是:
public > protected > 默認(即無修飾符) > private
Ⅱ java介面的修飾符有哪些
1、 介面的修飾符只有:public 2、 類的修飾符分為:可訪問控制符和非訪問控制符兩種。 可訪問控制符是:公共類修飾符 public 非訪問控制符有:抽象類修飾符 abstract ;最終類修飾符 final 1、公共類修飾符public: Java 語言中類 的可訪問控制符只有一個: public 即公共的。每個 Java 程序的主類都必須是 public 類作為公共工具供其它類和程序使用的應定義為 public 類。 2 、抽象類修飾符abstract:凡是用 abstract 修飾符修飾的類,被稱為抽象類。所謂抽象類是指這種類沒有具體對象的一種概念類。這樣的類就是 Java 語言的 abstract 類。 3、最終類修飾符final:當一個類不可能有子類時可用修飾符 final 把它說明為最終類。被定義為 final 的類通常是一些有固定作用、用來完成某種標准功能的類。 4、類預設訪問控制符:如果一個類沒有訪問控制符,說明它具有預設的訪問控制符特性。此時,這個類只能被同一個包中的類訪問或引用。這一訪問特性又稱為包訪問性。 3、屬性的控制修飾符也分為:可訪問控制符和非訪問控制符兩類。 可訪問控制符有 4 種:公共訪問控制符: public ;私有訪問控制符: private ;保護訪問控制符: protected ;私有保護訪問控制符: private protected 非訪問控制符有 4 種:靜態域修飾符: static ;最終域修飾符: final ;易失 ( 共享 ) 域修飾符: volatile ;暫時性域修飾符: transient 1、公共訪問控制符 public :用 public 修飾的域稱為公共域。如果公共域屬於一個公共類,則可以被所有其它類所引用。由於 public 修飾符會降低運行的安全性和數據的封裝性,所以一般應減少 public 域的使用。 2、私有訪問控制符 private : 用 private 修飾的成員變數 ( 域 ) 只能被該類自身所訪問,而不能被任何其它類 ( 包括子類 ) 所引用。 3、保護訪問控制符 protected :用 protected 修飾的成員變數可以被三種類所引用:①該類自身;②與它在同一個包中的其它類;③在其它包中的該類的子類。使用修飾符 protected 的主要作用是允許其它包中它的子類來訪問父類的特定屬性。 4、私有保護訪問控制符 private protected :用修飾符 private protected 修飾的成員變數可以被該類本身或該類的子類兩種類訪問和引用。 5、靜態域修飾符 static :用 static 修飾的成員變數僅屬於類的變數,而不屬於任何一個具體的對象,靜態成員變數的值是保存在類的內存區域的公共存儲單元,而不是保存在某一個對象的內存區間。任何一個類的對象訪問它時取到的都是相同的數據;任何一個類的對象修改它時 , 也都是對同一個內存單元進行操作。 6、最終域修飾符 final :最終域修飾符 final 是用來定義符號常量的。一個類的域 ( 成員變數 ) 如果被修飾符 final 說明,則它的取值在程序的整個執行過程中都是不變的。 7、易失 ( 共享 ) 域修飾符 volatile :易失 ( 共享 ) 域修飾符 volatile 是用來說明這個成員變數可能被幾個線程所控制和修改。也就是說在程序運行過程中,這個成員變數有可能被其它的程序影響或改變它的取值。因此,在使用中要注意這種成員變數取值的變化。通常 volatile 用來修飾接受外部輸入的域。 8、暫時性域修飾符 transient :暫時性域修飾符 transient 用來定義一個暫時性變數。其特點是:用修飾符 transient 限定的暫時性變數,將指定 Java 虛擬機認定該暫時性變數不屬於永久狀態,以實現不同對象的存檔功能。否則,類中所有變數都是對象的永久狀態的一部分,存儲對象時必須同時保存這些變數。 4、方法的控制修飾符也分為:可訪問控制符和非訪問控制符兩類。 可訪問控制符有 4 種:公共訪問控制符: public ;私有訪問控制符: private ;保護訪問控制符: protected ;私有保護訪問控制符: private protected 非訪問控制符有 5 種:抽象方法控制符: abstract ;靜態方法控制符: static ;最終方法控制符: final ;本地方法控制符: native ;同步方法控制符: synchronized 1、抽象方法控制符 abstract :用修飾符 abstract 修飾的方法稱為抽象方法。抽象方法是一種僅有方法頭,沒有方法體和操作實現的一種方法。 2、靜態方法控制符 static :用修飾符 static 修飾的方法稱為靜態方法。靜態方法是屬於整個類的類方法;而不使用 static 修飾、限定的方法是屬於某個具體類對象的方法。 由於 static 方法是屬於整個類的,所以它不能操縱和處理屬於某個對象的成員變數,而只能處理屬於整個類的成員變數,即 static 方法只能處理 static 的域。 3、最終方法控制符 final :用修飾符 final 修飾的方法稱為最終方法。最終方法是功能和內部語句不能更改的方法,即最終方法不能重載。這樣,就固定了這個方法所具有的功能和操作,防止當前類的子類對父類關鍵方法的錯誤定義,保證了程序的安全性和正確性。所有被 private 修飾符限定為私有的方法,以及所有包含在 final 類 ( 最終類 ) 中的方法,都被認為是最終方法。 4、本地方法控制符 native :用修飾符 native 修飾的方法稱為本地方法。為了提高程序的運行速度,需要用其它的高級語言書寫程序的方法體,那麼該方法可定義為本地方法用修飾符 native 來修飾; 5、同步方法控制符 synchronized :該修飾符主要用於多線程共存的程序中的協調和同步。
Ⅲ java 方法前有個類修飾符是什麼意思
就是引用這個類的類型...返回時也必須是這個類的類型當然也可以用強制轉換來變成這個類...前提是必須是這個類的子類...或父類]
Ⅳ JAVA中幾種方法修飾符該什麼時候用!
public 想讓所有類都可以調用這個方法或屬性就用它
protected 想讓它的子類能調用這個方法或屬性就用它
default 想讓同一包中的類調用它就用它
private 同一類 中才能調用
static 用它修飾的方法或屬性可以不new這它所在的類就可以調用它
final 用它修飾的方法不可以覆寫,屬性不可以再賦值,只能在聲明的時候賦值
abstract 用它修飾的類為抽象類,方法為抽象方法
native 直接操縱計算機硬體時要聲明為native方法
synchronized 想讓這個方法不能被兩個對象同時調用就用它
Ⅳ java中類修飾符有哪些
1.class不加修飾符的時候 即直接聲明 class A{ }
在這種情況下,class前面沒有加任何的訪問修飾符,通常稱為「默認訪問模式」,在該模式下,這個類只能被同一個包中的類訪問或引用,這一訪問特性又稱包訪問性。
2.類修飾符:
(1)public(訪問控制符),將一個類聲明為公共類,他可以被任何對象訪問,一個程序的主類必須是公共類。
(5)java修飾方法的修飾符擴展閱讀: 網路-java關鍵字
Ⅵ java 修飾符有哪幾個
java中的修飾符分為類修飾符,欄位修飾符,方法修飾符。根據功能的不同,主要分為以下幾種。
1、許可權訪問修飾符
public,protected,default,private,這四種級別的修飾符都可以用來修飾類、方法和欄位。
包外子類包內類內
publicyesyesyesyes
protectednoyesyesyes
defaultnonoyesyes
privatenononoyes
2、final修飾符
final的意思是不可變,他可以修飾類、欄位、方法。修飾類後類不能被擴展(extends),也就是不能被繼承。修飾欄位後欄位的值不能被改變,因此如果有final修飾欄位,應該對欄位進行手動初始化。修飾方法後該方法不能被改變,也就是重寫。
3、abstract修飾符
abstract是抽象的意思,用來修飾類和方法,修飾類後,該類為抽象類,不能被實例化,必需進行擴展。修飾方法後,該方法為抽象方法必須被子類重寫(override)。
4、static修飾符
static用來修飾內部類,方法,欄位。修飾內部類說明該內部類屬於外部類而不屬於外部類的某個實例。修飾欄位說明該欄位屬於類而不屬於類實例。修飾方法說明該方法屬於類而不屬於類實例
Ⅶ java默認方法的修飾符是什麼
默認什麼都不加,就是default(不用把default寫出來)。
意思就是只能由跟這個類在同一個包中的類來訪問,比private限制更少,但比protected限制更多。
Ⅷ java中的方法修飾符的問題急
上面的說到了一些!但是不全
static 可以修飾變數、類、方法、靜態塊!
用了static,可回以不用new一個這個類的答實例就可以進行訪問,而且無論new了多少個實例,這個變數都只有一份,所有實例見到的值都是相同的。
final 可以修飾變數、方法
final 修飾的方法不能被重寫!修飾的值不能被改變(數值類型值不變、引用類型引用不變!)修飾的類不能被繼承!<都有一個不能被改變的意思>
abstract可以修飾類、方法、介面
抽象方法沒有方法體!
表明被修飾的是抽象的,需要被實現,等待被完善!
抽象類可以繼承為抽象的,也可以被繼承為不抽象的,關鍵是看裡面有沒有抽象方法,如果有肯定是抽象類!當然抽象類也可以有非抽象方法!
所以 final 不能和 abstract 放在一起!一個不能實現、一個必須實現
Ⅸ JAVA方法修飾符是什麼.有多少.全寫了下來
1.static修飾符: a.有時候程序員可能需要定義一個類成員,對它的使用不依賴於該類的任何對象,要創建這樣的成員,成員的變數聲明前必須加上關鍵字static。成員聲明為static後,在創建該類的任何對象之前就可以訪問它。 b.關鍵字static可應用於變數、方法,甚至不屬於方法的一段代碼塊。生命靜態類的對象時,不會生成靜態變數的副本。類的所有實例都共享一些靜態變數。 c.可以通過類名稱來調用靜態變數,也可以通過對類實例的引用來調用靜態變數。但建議通過類名稱來調用靜態變數。 d.方法聲明為靜態時具有某些限制,具體如:>它們只能調用其他靜態方法。 >它們必須只訪問靜態數據。 >不能使用關鍵字this或super。 2.final修飾符: a.final修飾符可應用於類、方法、和變數。final變數的內容不能更改。因此,聲明final變數時,必須將其初始化。 b.聲明為final的變數不會在每個實例中都佔用內存,也就是說,可以認為final變數就是常量。 c.通常的做法是為final變數選擇大寫的標識符。 d.當關鍵字final應用於方法時,它意味著方法不能被重寫。如果對象已聲明為final,對該對象的引用則不能更改,但它的值可以更改。 3.abstract修飾符: a.父類中的某些方法不包含任何邏輯,並且需要由子類重寫。在這種情況下,應該使用關鍵字abstract來聲明父類中的方法。 b.子類提供這種abstract這種方法的實現細節,而父類僅提供此方法的名稱和聲明,沒有方法的主體。 c.任何一個或多個抽象方法的類也應該聲明為抽象。 d.要聲明一個抽象類,在class關鍵字前應該加上abstract。 e.抽象類不能被實例化。構造方法和static類方法不能聲明為abstract。Abstract類的任何子類必須實現在父類中聲明的所有abstract方法,否則子類必須聲明為抽象類。 f.abstract類不能有對象,但它們可以用來創建對象的引用,因為Java運行時多態性是通過父類引用實現的。因此,對象可用來創建對抽象類的引用,抽象類可以指向子類的對象。 g.如果方法定義為抽象,那麼此方法所在的類也必須為抽象。