LoginSignup
0
0

【Java】インタフェースの実装を覚える

Last updated at Posted at 2024-06-14

インタフェースは抽象クラスと同じく抽象メソッドを扱いますが、この2つは何が違うのか、覚えるための自分用メモです。

インタフェースとは?

インタフェースは、抽象クラスと違って継承のためのフィールド変数(定数は可)やコンストラクタ、具象メソッド(Java8からdefaultメソッドは可)は記述せず、抽象メソッドのみを記述します。
(メソッドに自動でpublic abstractが付きます。)

サンプルプログラム

例えば、以下のインタフェースをTest1クラスに実装するとします。

Test.java
public interface Test {
    void methodA();
    void methodB();
    void methodC();
}

インタフェースは、以下のような記述で実装できます。

Test1.java
public class Test1 implements Test {
    // フィールド

    public void methodA() {
        // 処理内容
    }
    public void methodB() {
        // 処理内容
    }
    public void methodC() {
        // 処理内容
    }
}

実装したクラスをインスタンス化する

インタフェースを実装したクラスをインスタンス化する記述は、通常のインスタンス化と変わりません。

Main.java
public class Main {
    public static void main(String[] args) {
        Test1 t1 = new Test1();
    }
}

オーバーライドしたメソッドを呼び出す

オーバーライドした抽象メソッドは、通常のメソッドと同様に呼び出すことができます。

Main.java
public class Main {
    public static void main(String[] args) {
        Test1 t1 = new Test1();
        logic(t1);
    }
    static void logic(Test t) {
        t.methodA();
        t.methodB();
        t.methodC();
    }
}
0
0
9

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0