淺談Java?abstract關(guān)鍵字不能和哪些關(guān)鍵字共存
特點
- abstract可以修飾類,也可以修飾方法;
- abstract修飾的類可以被繼承和實現(xiàn),但是這個類本身不能被實例化;
- 抽象方法必須在抽象類中,抽象類中可以有非抽象的方法;抽象類中可以沒有抽象方法,這樣做的作用是這個類不可以被實例化;
- 抽象類的子類在繼承抽象類后,必須把父類中的抽象方法重寫,否則子類也會自動變?yōu)槌橄箢悾?/li>
- 抽象方法用于被子類繼承后重寫。即是父類的抽象方法是空的,必須由子類繼承之后在子類中由子類實現(xiàn),這可以達到不同子類可以根據(jù)自己的特性來定義自己從父類繼承過來的抽象方法;
- abstract修飾的類中的普通方法可以通過該抽象類的子類直接調(diào)用。
private ——沖突——abstract 的方法必須被子類重寫,而 private 不能被繼承
final——沖突——final 修飾的方法,變量都不能修改,而abstract 修飾的方法必須被重寫
static——不能共從——無意義,static 是靜態(tài)的,abstract 方法中無方法體,無法調(diào)用
示例代碼:
AnimalParent.java
package com.面向?qū)ο?Demo27; public abstract class AnimalParent { /** * 1. 我們的abstract關(guān)鍵字 不能夠和 private * ∵ 如果抽象方法 改為 private 該方法是無法 被繼承 無法被重寫 * 2. final 加在類上,意味著類是不能被繼承 加在方法上 該方法是無法被重寫 * 3. static 該方法是靜態(tài)方法,可以直接通過"類名.方法" 訪問 方法體 * 而抽象方法是沒有方法體 具體實現(xiàn) 交給 父類 */ // private abstract void eat(); //abstract // public final abstract void eat(); //final // public static abstract void eat(); //static public abstract void eat(); }
到此這篇關(guān)于Java abstract關(guān)鍵字不能和哪些關(guān)鍵字共存的文章就介紹到這了,更多相關(guān)Java abstract關(guān)鍵字共存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JAVA8妙用Optional解決判斷Null為空的問題方法
本文主要介紹了JAVA8妙用Optional解決判斷Null為空的問題方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10Java實現(xiàn)統(tǒng)計字符串出現(xiàn)的次數(shù)
這篇文章主要為大家詳細介紹了Java實現(xiàn)統(tǒng)計字符串出現(xiàn)的次數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10Java并發(fā)編程之JUC并發(fā)核心AQS同步隊列原理剖析
AbstractQueuedSynchronizer 簡稱 AQS,可能我們幾乎不會直接去使用它,但它卻是 JUC 的核心基礎(chǔ)組件,支撐著 java 鎖和同步器的實現(xiàn),大神 Doug Lea 在設(shè)計 JUC 包時希望能夠抽象一個基礎(chǔ)且通用的組件以支撐上層模塊的實現(xiàn),AQS 應(yīng)運而生2021-09-09Java 圖解Spring啟動時的后置處理器工作流程是怎樣的
spring的后置處理器有兩類,bean后置處理器,bf(BeanFactory)后置處理器。bean后置處理器作用于bean的生命周期,bf的后置處理器作用于bean工廠的生命周期2021-10-10淺談利用Spring的AbstractRoutingDataSource解決多數(shù)據(jù)源的問題
本篇文章主要介紹了淺談利用Spring的AbstractRoutingDataSource解決多數(shù)據(jù)源的問題,具有一定的參考價值,有需要的可以了解一下2017-08-08Java中通過繼承Thread類創(chuàng)建線程的步驟
本文介紹了如何通過繼承Thread類創(chuàng)建線程,包括Thread類的定義、創(chuàng)建線程的步驟、優(yōu)缺點、使用場景和注意事項,通過示例代碼展示了多線程下載文件的實現(xiàn),感興趣的朋友跟隨小編一起看看吧2025-02-02一文深入分析java.lang.ClassNotFoundException異常
這篇文章主要給大家介紹了關(guān)于java.lang.ClassNotFoundException異常的相關(guān)資料,java.lang.ClassNotFoundException是Java編程時經(jīng)常會遇到的一個異常,它表示JVM在嘗試加載某個類時未能找到該類,需要的朋友可以參考下2023-10-10