接口-----java
生活随笔
收集整理的這篇文章主要介紹了
接口-----java
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
接口就是規范,定義的是一組規則,體現了現實世界中“如果你是...則必須你能....”的思想。
如果你是天使,則必須能飛。如果你是汽車,則必須能跑。接口的本質就是契約,就像我們人間
的法律一樣,大家都要遵守。接口定義說明:1、訪問控制符:只能是public或者默認。2、接口名:和類名采用相同命名機制。3、extends:接口可以多繼承。4、常量:接口中的屬性只能是常量,總是:public static final 修飾,不寫也是。5、方法:接口中的方法只能是:public abstract。不寫也是。要點:1、子類通過implements來實現接口中的規范。2、接口不能創建實例,但是可用于聲明引用變量類型。3、一個類實現了接口,必須實現接口中所有的方法,并且這些方法只能是public的4、JDK1.8(不含8)之前,接口中只能包含靜態常量,抽象方法,不能有普遍性,構造方法,普通方法。5、JDK1.8(含8)后,接口中包含普通的靜態方法,默認方法
?驗證:
/*** 使用接口,定義一個接口Flyable,讓飛機、鳥、超人、導彈都實現該接口。接口表達的是has—a的關系* 而繼承表達的是is—a的關系,飛機、鳥、超人、導彈不是一種事物,所以使用接口來實現*/ public interface Flyable {//接口中只有常量,沒有變量,常量都是全局靜態常量public static final int num = 5;//接口的方法自動采用public abstract修飾,所有方法都是全局抽象方法public abstract void fly(); } public class Plane implements Flyable{@Overridepublic void fly() {System.out.println("飛機在飛......");} } public class Animal { } public class Bird extends Animal implements Flyable{@Overridepublic void fly() {System.out.println("鳥在飛.....");} } public class SuperMan implements Flyable{@Overridepublic void fly() {System.out.println("超人在飛......");} } public class Test {public static void main(String[] args) {Flyable plane = new Plane();showFly(plane);Bird bird = new Bird();showFly(bird);SuperMan sm = new SuperMan();showFly(sm);Flyable bird2 = new Plane();bird2.fly();}public static void showFly(Flyable fly){fly.fly();} }?運行結果:
?
總結 一:接口的組成1、接口和數組、類、抽象類是同一層次的概念。2、成員變量:接口中所有的變量都使用public static final修飾,都是全局靜態常量3、成員方法:接口中所有的方法都使用public abstract 修飾,都是全局抽象方法。4、構造方法:接口不能new,也沒有構造方法5、接口做方法的形參,實參可以是該接口的所有實現類。總結 二:接口和多繼承C++ 多繼承優點:可以從多個父類繼承更多的功能 缺點:不安全Java 單繼承優點:安全 缺點:功能受限 解決方案:采用接口,既安全,功能又強大,接口變相的使java實現了c++的多繼承,又沒有c++多繼承 的不安全性。?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的接口-----java的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库错误 ERROR 1366 (HY
- 下一篇: mysql for update场景_一