Java高级语法笔记-接口(interface)
生活随笔
收集整理的這篇文章主要介紹了
Java高级语法笔记-接口(interface)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
接口interface
接口和抽象類寫法是一樣的(只定義一個(gè)聲明)
interface的使用:定義一個(gè)類,implements這個(gè)接口。(對(duì)比abstract class,extends)
interface不能實(shí)例化(和抽象類差不多)
要用implements的那個(gè)類去實(shí)例。
接口的含義:
接口是一種設(shè)計(jì)方法,跟C/C++里的回調(diào)類似。 函數(shù)指針
舉例:有一個(gè)工具類AfSort,它為我們提供一個(gè)函數(shù),用于對(duì)任意類型進(jìn)行排序。
AfSort.doSort(objs,...)
例如,我們有一個(gè)Student數(shù)組,可以用AfSort類來幫助我們完成排序
注:
1.interface里的函數(shù)聲明是public的。
2.interface里一般不寫成員變量,如果有成員變量,則該變量是public static final的
接口的本質(zhì)上是一種回調(diào)機(jī)制(Callback)
回調(diào):別人給我們提供一個(gè)函數(shù),我們調(diào)用他,他在內(nèi)部調(diào)用我的函數(shù)
Example.java package my;public class Example implements Compare {@Overridepublic int compare(Object a, Object b){return 0;}}
Sort.java package my;public class Sort {public static void doSort(Object[] objs,Compare c) {int N = objs.length;for(int i=0; i < N -1; i++){int pos = i;for(int j=i+1; j< N; j++){// 找到最小值的那個(gè)元素的下標(biāo)// 比較大小if( c.compare(objs[j] ,objs[pos]) < 0){pos = j;}}// 把最小值調(diào)換到最前面if(pos != i){Object temp = objs[pos]; objs[pos] = objs[i];objs[i] = temp;}}} }
Student.java package my;public class Student {int id;String name;String phone;public Student(int id,String name,String phone) {this.id=id;this.name=name;this.phone=phone;}@Overridepublic String toString(){return "("+id+","+name+","+phone+")";} }
接口和抽象類寫法是一樣的(只定義一個(gè)聲明)
interface的使用:定義一個(gè)類,implements這個(gè)接口。(對(duì)比abstract class,extends)
interface不能實(shí)例化(和抽象類差不多)
要用implements的那個(gè)類去實(shí)例。
接口的含義:
接口是一種設(shè)計(jì)方法,跟C/C++里的回調(diào)類似。 函數(shù)指針
舉例:有一個(gè)工具類AfSort,它為我們提供一個(gè)函數(shù),用于對(duì)任意類型進(jìn)行排序。
AfSort.doSort(objs,...)
例如,我們有一個(gè)Student數(shù)組,可以用AfSort類來幫助我們完成排序
注:
1.interface里的函數(shù)聲明是public的。
2.interface里一般不寫成員變量,如果有成員變量,則該變量是public static final的
接口的本質(zhì)上是一種回調(diào)機(jī)制(Callback)
回調(diào):別人給我們提供一個(gè)函數(shù),我們調(diào)用他,他在內(nèi)部調(diào)用我的函數(shù)
一個(gè)類,可以implements多個(gè)接口
代碼如下
Compare.java
package my;public interface Compare {//比較兩個(gè)對(duì)象a,b的大小//若a>b返回1,若a<b返回-1int compare(Object a,Object b); }Example.java package my;public class Example implements Compare {@Overridepublic int compare(Object a, Object b){return 0;}}
Sort.java package my;public class Sort {public static void doSort(Object[] objs,Compare c) {int N = objs.length;for(int i=0; i < N -1; i++){int pos = i;for(int j=i+1; j< N; j++){// 找到最小值的那個(gè)元素的下標(biāo)// 比較大小if( c.compare(objs[j] ,objs[pos]) < 0){pos = j;}}// 把最小值調(diào)換到最前面if(pos != i){Object temp = objs[pos]; objs[pos] = objs[i];objs[i] = temp;}}} }
Student.java package my;public class Student {int id;String name;String phone;public Student(int id,String name,String phone) {this.id=id;this.name=name;this.phone=phone;}@Overridepublic String toString(){return "("+id+","+name+","+phone+")";} }
總結(jié)
以上是生活随笔為你收集整理的Java高级语法笔记-接口(interface)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt可执行程序写入版本信息
- 下一篇: php书签源码,OneNav简约PHP导