Java 接口语法_JAVA接口的基本语法
一、接口的概念
在之前學習了抽象類,其中抽象類的抽象方法定義了標準,具體的方法實現交給子類完成,之后再結合多態的特征在一定程度上解決代碼的耦合(上節課的參數統一),這需要在繼承關系中實現,但是繼承存在單繼承的局限。
今天的接口出現就解決單繼承的局限,接口是也是一個特殊的類,沒有自己的構造方法,在接口中只能定義全局常量、抽象方法、靜態方法(雖然語法.上可以,但是一般不會在接口中去定義靜態方法),要定義一個接口需要使用到一個新的關鍵字就是interface。
DEMO:定義接口
以上定義了接口,接口沒有自己的構造方法,但是發現了一個很奇怪的問題:所有的方法都沒有方法體,但是卻沒用abstrat修飾,所以在接口中抽象方法默認是可以省略abstract 的,因為默認就是抽象方法。可以省略public嗎?可以省略,但是為了防止不熟悉語法的程序員出錯,強烈要求不省略(規范的寫上)。
DEMO: public 修飾符可以換成private嗎?
不能使用private修飾,只能使用public 或者不寫( 默認就是public)
二:接口的使用
在接口中定義了抽象方法,而且接口沒有自己的構造方法,那么就意味著不能使用接口直接實例化對象,所以接口要有意義則應該有自己的實現類(就是子類),這里的接口與實現類的關系和抽象與自己的子類的關系是一樣的。使用抽象類和自己的子類可以實現向.上轉型從而使用多態的特征,接口也一樣可以實現向上轉型從而實現多態的特征。
之前抽象類的子類要繼承抽象類使用的關鍵字是“extends",實現類要實現接口使用的關鍵字是“implements”。
DEMO:定義接口的實現類.
以上的EmpDAOImpl是IEmpDAO的實現子類,我們之前說了可以向上轉型。
DEMO:向. 上轉型實例化子類對象
有完整的Java初級,高級對應的學習路線和資料!專注于java開發。分享java基礎、原理性知識、JavaWeb實戰、spring全家桶、設計模式、分布式及面試資料、開源項目,助力開發者成長!
歡迎關注微信公眾號:碼邦主
總結
以上是生活随笔為你收集整理的Java 接口语法_JAVA接口的基本语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql常用日期时间函数_MySql常
- 下一篇: java jar包和war包_java中