美文网首页
Java8-默认方法

Java8-默认方法

作者: 红领巾三道杠 | 来源:发表于2018-02-28 09:27 被阅读0次

    普通默认方法

    • 默认方法简单说就是接口可以有实现方法,而且不需要实现类去实现其方法

    编码方式

    • 只需要在方法名前加入default关键字即可实现默认方法
        public interface Man {
            default void say() {
                System.out.println("I'm a Man ");
            }
        }
    

    多个默认方法解决方案

    当一个类实现多个具有默认方法的接口,且这些接口具有相同的默认方法:

    1. 创建同名方法覆盖重写接口的默认方法
        public class People implements Man, Woman {
            public void say() {
                System.out.println("I'm a People ");
            }
        }
        public interface Man {
            default void say() {
                System.out.println("I'm a Man ");
            }
        }
    
        public interface Woman {
            default void say() {
                System.out.println("I'm a Woman");
            }
        }
    
    1. 使用super来调用指定接口的默认方法
        public class People implements Man, Woman {
            public void say() {
                Man.super.say();
                Woman.super.say();
                System.out.println("I'm a People ");
            }
        }
    

    静态默认方法

    • 接口可以声明静态方法
     public interface Man {
            default void say() {
                System.out.println("I'm a Man ");
            }
            static void hello(){
                System.out.println("hello");
            }
        }
    
    • 在实现类中可以直接调用接口的静态方法
        public class People implements Man, Woman {
        ...
            public void hello(){
                Man.hello();
            }
        }
    

    相关文章

      网友评论

          本文标题:Java8-默认方法

          本文链接:https://www.haomeiwen.com/subject/qawexftx.html