Java final static abstract關(guān)鍵字概述
一,抽象類:abstract
1,只要有一個(gè)或一個(gè)以上抽象方法的類,必須用abstract聲明為抽象類;
2,抽象類中可以有具體的實(shí)現(xiàn)方法;
3,抽象類中可以沒有抽象方法;
4,抽象類中的抽象方法必須被它的子類實(shí)現(xiàn),如果子類沒有實(shí)現(xiàn),則該子類繼續(xù)為抽象類
5,抽象類不能被實(shí)例化,但可以由抽象父類指向的子類實(shí)例來調(diào)用抽象父類中的具體實(shí)現(xiàn)方法;通常作為一種默認(rèn)行為;
6,要使用抽象類中的方法,必須有一個(gè)子類繼承于這個(gè)抽象類,并實(shí)現(xiàn)抽象類中的抽象方法,通過子類的實(shí)例去調(diào)用;
二,接口:interface
1,接口中可以有成員變量,且接口中的成員變量必須定義初始化;
2,接口中的成員方法只能是方法原型,不能有方法主體;
3,接口的成員變量和成員方法只能public(或缺省不寫),效果一樣,都是public
4,實(shí)現(xiàn)接口的類必須全部實(shí)現(xiàn)接口中的方法(父類的實(shí)現(xiàn)也算,一般有通過基類實(shí)現(xiàn)接口中個(gè)異性不大的方法來做為適配器的做法)
三,關(guān)鍵字:final
1,可用于修飾:成員變量,非抽象類(不能與abstract同時(shí)出現(xiàn)),非抽象的成員方法,以及方法參數(shù)
2,final方法:不能被子類的方法重寫,但可以被繼承;
3,final類:表示該類不能被繼承,沒有子類;final類中的方法也無法被繼承.
4,final變量:表示常量,只能賦值一次,賦值后不能被修改.final變量必須定義初始化;
5,final不能用于修飾構(gòu)造方法;
6,final參數(shù):只能使用該參數(shù),不能修改該參數(shù)的值;
四,關(guān)鍵字:static
1,可以修飾成員變量和成員方法,但不能修飾類以及構(gòu)造方法;
2,被static修飾的成員變量和成員方法獨(dú)立于該類的任何對(duì)象。也就是說,它不依賴類特定的實(shí)例,被類的所有實(shí)例共享
3,static變量和static方法一般是通過類名直接訪問,但也可以通過類的實(shí)例來訪問(不推薦這種訪問方式)
4,static變量和static方法同樣適應(yīng)java訪問修飾符.用public修飾的static變量和static方法,在任何地方都可以通過類名直接來訪問,但用private修飾的static變量和static方法,只能在聲明的本類方法及靜態(tài)塊中訪問,但不能用this訪問,因?yàn)閠his屬于非靜態(tài)變量.
五,static和final同時(shí)使用
1,static final用來修飾成員變量和成員方法,可簡單理解為“全局常量”!
2,對(duì)于變量,表示一旦給值就不可修改,并且通過類名可以訪問。
3,對(duì)于方法,表示不可覆蓋,并且可以通過類名直接訪問。
六,為什么一個(gè)方法前不能同時(shí)加abstract與static 呢?
static是靜態(tài),就是在編譯時(shí)已經(jīng)確定的東西,當(dāng)然不能是抽象(動(dòng)態(tài))的,那是運(yùn)行時(shí)才能確定的東西
以上內(nèi)容是小編給大家介紹的Java final static abstract關(guān)鍵字,希望對(duì)大家有所幫助!
相關(guān)文章
SpringBoot整合Security實(shí)現(xiàn)權(quán)限控制框架(案例詳解)
Spring Security是一個(gè)能夠?yàn)榛赟pring的企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框,是一個(gè)重量級(jí)的安全管理框架,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-08-08java對(duì)同一個(gè)文件進(jìn)行讀寫操作方法
在本篇文章里我們給大家詳細(xì)講述了java對(duì)同一個(gè)文件進(jìn)行讀寫操作的方法和知識(shí)點(diǎn),需要的朋友們可以參考學(xué)習(xí)下。2018-10-10Java請(qǐng)求調(diào)用參數(shù)格式為form-data類型的接口代碼示例
這篇文章主要給大家介紹了關(guān)于Java請(qǐng)求調(diào)用參數(shù)格式為form-data類型的接口的相關(guān)資料,文中給出了詳細(xì)的代碼示例,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08JAVA 中實(shí)現(xiàn)整句漢字拆分、轉(zhuǎn)換為ASCII實(shí)例詳解
這篇文章主要介紹了JAVA 中實(shí)現(xiàn)整句漢字拆分、轉(zhuǎn)換為ASCII實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04Java基于Socket的文件傳輸實(shí)現(xiàn)方法
這篇文章主要介紹了Java基于Socket的文件傳輸實(shí)現(xiàn)方法,結(jié)合實(shí)例分析了Java使用Socket實(shí)現(xiàn)文件傳輸?shù)慕⑦B接、發(fā)送與接收消息、文件傳輸?shù)认嚓P(guān)技巧,需要的朋友可以參考下2015-12-12