Java8からdefaultメソッドがインターフェースに定義できるようになっていた
Java8からdefaultメソッドが用意されているようで、インターフェースに実装が出来るようになっています。
こんなインターフェースが作成できます。
package interfaces; public interface Itest { void dash(); default void bDash() { dash(); dash(); } }
このインターフェースをimplementsしたクラスが以下です。
package interfaces; public class Mario implements Itest{ @Override public void dash() { System.out.println("ダッシュします"); } }
mainクラスは以下にします。
package interfaces; public class Main { public static void main(String[] args) { Mario mario = new Mario(); mario.bDash(); } }
結果は以下になります。
ダッシュします ダッシュします
インターフェースが実装を持てることにより抽象クラスとの違いがいまいちないような気がしますがJPAのリポジトリインターフェースでは使い勝手が良いかなと思いました。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント