JAVA8之接口中的默认方法(default)初涉及

    科技2025-08-03  20

    java8给interface接口添加了新的功能,default默认方法和static静态方法。

    default默认方法:实现类可以根据需求选择性的重写他。(不需要可不重写)。

    static静态方法:接口的静态方法,不可重写。可直接调用。

    接口多继承:接口多继承时,如果方法名一致,必须重写 public class ttt { public static void main(String[] args){ new aaa().print(); new aaa().sing(); SingerSongwriter.singerSongwriterStatic(); } } class aaa implements SingerSongwriter { @Override public void actSensitive() { } // @Override //接口的默认方法可根据需求选择性重写 // public void print() { // System.out.println("aaa"); // } } interface SingerSongwriter extends Singer, Songwriter { void actSensitive(); @Override //接口多继承时,如果方法名一致,必须重写 default void print() { System.out.println("SingerSongwriter"); } static void singerSongwriterStatic(){ System.out.println("singerSongwriterStatic***********"); } } interface Singer { default void print() { System.out.println("Singer"); } //接口的静态方法,不可重写。 default void sing() { System.out.println("sing***********"); } } interface Songwriter { default void print() { System.out.println("Songwriter"); } }

    打印结果:

    SingerSongwriter sing*********** singerSongwriterStatic***********

    Processed: 0.036, SQL: 8