标签:pack 方法签名 span new 签名 继承 nts 通过 ide
接口一:
package com.skd.interfacemethod; /** * @Description * @Author virgosnail * @Date 2018/12/12 */ public interface Human { /** * 必须被重写 */ void oldMethod(); /** * 实现类可以选择重写,也可以不重写 */ default void hi(){ System.out.println("interface default method"); } /** * 不能被实现类重写 */ static void hello(){ System.out.println("interface static method"); } }
接口二:
package com.skd.interfacemethod; /** * @Description * @Author virgosnail * @Date 2018/12/12 20:59 */ public interface Humen { default void hi(String aa){ System.out.println("interface default method"); } }
实现类:
package com.skd.interfacemethod; /** * @Description * @Author virgosnail * @Date 2018/12/12 */ public class Person implements Human,Humen { @Override public void oldMethod() { } /** * 实现的多个接口中有方法签名相同的default 方法时,实现类必须重写该方法 */ @Override public void hi() { } /** * 实现类不能继承接口的static 方法 */ }
测试类:
package com.skd.interfacemethod; /** * @Description * @Author virgosnail * @Date 2018/12/12 */ public class Test { public static void main(String[] args) { // interface 的 default 方法通过实现类的实例对象调用 new Person().hi(); // interface 的 static 方法通过 接口名称.方法名称直接调用 Human.hello(); } }
标签:pack 方法签名 span new 签名 继承 nts 通过 ide
原文地址:https://www.cnblogs.com/virgosnail/p/10111075.html