インタフェース
2496 ワード
インタフェース
インタフェース宣言
interface 인터페이스명 {
자료형 상수명 = 값;
리턴타입 추상메서드 명();
}
インタフェースのすべてのメンバー(インタフェース名、定数名、メソッド名を含む)は、共通アクセス制限者です.static final、abstractキーワードが欠けていても、コンパイラは自動的に追加されます.
したがって,インタフェース内のすべての変数は定数であり,すべての方法は抽象的な方法である.
Java 8のバージョンから、定数、抽象メソッドに追加して、デフォルトメソッドと静的メソッドを宣言できます.
メソッド
クラス間継承、インタフェース、クラス実装
複数の実装をサポート
インタフェース間で継承可能(複数の継承)
インタフェースの方法は実装されなければならない.
オブジェクトは作成できません.実装されたクラスはオブジェクトを作成します.
# 인터페이스
public interface Printer {
void print();
}
public interface Scanner {
void scan();
}
public interface fax {
void fax();
}
# 구현체
public class Complexer implements Printer, Scanner, Fax {
public void print() { };
public void scan() { };
public void fax() { };
}
インタフェースの多形性
# 인터페이스
public interface DBProgram {
void dbProcess();
}
# 구현체
public class OracleProgram implements DBProgram {
@Override
public void dbProcess() {System.out.println("Oracle process")};
}
public class MySQLProgram implements DBProgram {
@Override
public void dbProcess() {System.out.println("MySQL process")};
}
public class MSSQL implements DBProgram {
@Override
public void dbProcess() {System.out.println("MSSQL process")};
}
# main문 실행
public class Main {
public static void main(String[] args) {
DBProgram db = new OracleProgram();
# DBProgram db = new MySQLProgram(); // 구현체만 변경하면 된다!!!
# DBProgram db = new MSSQLProgram(); // 구현체만 변경하면 된다!!!
db.dbProcess();
}
}
Reference
この問題について(インタフェース), 我々は、より多くの情報をここで見つけました https://velog.io/@hyeongmcho/인터페이스テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol