Javaインタフェース
15329 ワード
インタフェースコンセプト
インタフェースの概念といえば,ユーザが同じ目的で同じ機能を実行させることがインタフェースの役割である.
簡単に言えば、あらかじめ用意されたテンプレートですか?
たとえば、会社に履歴書を提出するには、フリーフォームの履歴書を見て、評価を一致させることはできません.
したがって,各社が履歴書フォームを統一的に作成して使用する概念と考えられる.
インタフェースの実装方法
コードを例にとると
package com.javalec.base;
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
SmartPhone aPhone = new APhone();
SmartPhone bPhone = new BPhone();
SmartPhone cPhone = new CPhone();
SmartPhone[] smartPhones = {aPhone, bPhone, cPhone};
for (int i = 0; i < smartPhones.length; i++) {
smartPhones[i].callSenderReceiver();
smartPhones[i].telMethod();
smartPhones[i].tvRemoteController();
System.out.println("---------------------");
}
}
}
package com.javalec.base;
public interface SmartPhone {
public void callSenderReceiver();
public void telMethod();
public void tvRemoteController();
}
インタフェース受信の次の3つのクラスから,2行目にimplementsを介してインタフェースを受信することが分かる.また,各メソッドに@Overrideと書かれており,これはインタフェース上のメソッドを用いた宣言を意味する.
(利点は不要)
package com.javalec.base;
public class APhone implements SmartPhone {
public APhone() {
// TODO Auto-generated constructor stub
}
@Override
public void callSenderReceiver() {
System.out.println("A phone : possible");
}
@Override
public void telMethod() {
System.out.println("A phone : 3G");
}
@Override
public void tvRemoteController() {
System.out.println("A phone : Not Applied");
}
}
package com.javalec.base;
public class BPhone implements SmartPhone {
public BPhone() {
// TODO Auto-generated constructor stub
}
@Override
public void callSenderReceiver() {
System.out.println("B phone : possible");
}
@Override
public void telMethod() {
System.out.println("B phone : 4G");
}
@Override
public void tvRemoteController() {
System.out.println("B phone : Applied");
}
}
package com.javalec.base;
public class CPhone implements SmartPhone {
public CPhone() {
// TODO Auto-generated constructor stub
}
@Override
public void callSenderReceiver() {
System.out.println("C phone : possible");
}
@Override
public void telMethod() {
System.out.println("C phone : 4G");
}
@Override
public void tvRemoteController() {
System.out.println("C phone : Not Applied");
}
}
結果
InterfaceはAndroidスタジオでよく使われています(AndroidのEmpty ActivityもImplementから).
Javaをするには基本的なインタフェースを理解したほうがいいです.
Reference
この問題について(Javaインタフェース), 我々は、より多くの情報をここで見つけました https://velog.io/@godol811/자바-인터페이스テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol