1、接口(interface),在 java中有這個類型哦,這是語法哦。
- public interface MyInterface {
- }
2、接口(interface)與 接口(API) ?
答:相信大家伙一直沒明白吧,老話再講,記得中文博大精深,剛好interface與API都翻譯為接口,而API全稱是應用程序接口(Application Program Interface)。
API昵指的是提供給他人調用的方法或者函數,具體一點講昵就是 public 的 方法。而interface就是java中規定一種數據類型(數據結構、對象組合)。
3、interface的小小規則
a、interface中可以有變量,而且它必須是靜態(static)的、而且必須是final的。
- public interface MyInterface {
- public String name = "test"; //這里隱藏了static final ,你不寫,編譯器也會給你默認加上static 與 final,相當於簡寫啦
- }
答:這里要插播一個思想,那就是隱式與顯式的思想。因為interface要求必須是static加上final。所以你不寫也沒關系,默認(隱式)就會給你加上static與final。
- public interface MyInterface {
- public static final String name = "test"; //顯式的寫上static與final 也一樣啦,人啊越進步越懶,誰老想寫啊
- }
b、interface里面的方法,必須全部是抽象方法
- public interface MyInterface {
- public static final String name = "test";
- public void walk(); //我是抽象方法,此處省略了abstract
- public void jump(); //我是抽象方法
- }
答:哈哈,剛才上面就講啦?語法已經規定所有方法必須是抽象方法,所以嘛你可以不寫abstarct,默認(隱式)編譯器會給你加上abstract,呵呵
- public interface MyInterface {
- public static final String name = "test";
- public abstract void fly(); //也可以顯示的加上abstract,但人啊就是越來越懶
- }
c、訪問權限,接口啊接口,就是為了給別人用的,記得無論你寫與不寫,所有的一切都是public
- public interface MyInterface {
- static final String name = "test"; //默認給你加上public的,放心哥們
- void walk(); //抽象方法也同理,隱式的有public的哦
- void jump();
- abstract void fly();
- }
d、接口可以繼承一個接口,想不到吧,接口可以繼承(擴展)多個、多個、多個(重要的事說三遍)接口。
- public interface MyInterface extends FirInterface, SecInterface, ThirdInterface{
- static final String name = "test";
- void jump();
- abstract void fly();
- }
e、有了接口我們怎么用啊? 我們要將我們的類去實現接口,要用到implements關鍵字啦
- public class HelloInterface implements MyInterface {
- @Override
- public void quickWalk() {
- // TODO Auto-generated method stub
- }
- @Override
- public void jump() {
- // TODO Auto-generated method stub
- }
- @Override
- public void fly() {
- // TODO Auto-generated method stub
- }
- }
插播:extends與implements我將單獨拉出來兩篇筆記哦!!java語法:單繼承、多實現、這算劇透嘛?