interfaceっていうのがjavaにあって、いろいろ説明があるのだけど、意味がよくわからない。
って思ってたのだが、実は簡単だったので、簡単にメモ。
interfaceっていうのは、implementsというので、クラスなどに付与したりするのだけど、
簡単にいうと、「実装しなくちゃいけない関数」を用意したので、ルールに準拠してますよー。っていう事。
例えば、動物って行動で「食べる」「寝る」って、すべての動物でしますよね。
interface 動物{ public void 食べる(); public void 寝る(); }
ってなります。そして、これをimplementsすると、
public class 犬 implements mInterface{ public void 食べる(){ Log.e("犬",もぐもぐ); }; public void 寝る(){ Log.e("犬",ぐーぐー); }; }
な感じになります。なりますっていうと変な感じだけど、例えば
public class 犬 implements mInterface{ public void 食べる(){ Log.e("犬",もぐもぐ); }; }
だと、「寝るがいない!!」ってエラーが出る。
つまり、クラスにルール設定をして、関数を指定してくる、変なヤツが、interface
interface自体も
new 動物(){ public void 食べる(){ Log.e("なにか",もぐもぐ); }; public void 寝る(){ Log.e("なにか",ぐーぐー); }; }
みたいな事でクラスっぽく使う事もできたりもするけど、
同じルールで縛る事で、いろいろと使いやすくする事ができるアプリケーション
なくても困らない。あると、便利。なものがinterface!