zoukankan      html  css  js  c++  java
  • default关键字

    default关键字在JDK8中有两个用处。

    1.在switch语句的时候使用default

    int gender = 3;
    String genderString;
    switch (gender) {
        case 1: genderString = "male";
                break;
        case 2: genderString = "female";
                break;
    
                break;
        //如果case没有匹配的值,那么肯定是LGBT
        default: genderString = "LGBT";
                 break;
    }
    System.out.println(genderString);

    当case里的值与switch里的key没有匹配的时候,执行default里的方法。

    2. 在定义接口的时候使用default来修饰具体的方法

    interface IntefercaeDemo {
    
        //具体方法
        default void showDefault(){
            System.out.println("this is showDefault method");
        }
        //具体方法
        static void showStatic(){
            System.out.println("this is showStatic method");
        }
    
        //没有实现的抽象方法
        void sayHi();
    }
    class LearnDefault implements IntefercaeDemo{
        //实现抽象方法
        @Override
        public void sayHi() {
            System.out.println("this is sayHi mehtod");
        }
    
        public static void main(String[] args) {
            //接口中被static所修饰的具体方法
            IntefercaeDemo.showStatic();
    
            //将实现了IntefercaeDemo的类实例化
            LearnDefault learnDefault = new LearnDefault();
            //被Default所修饰的具体方法可以通过引用变量来调用
            learnDefault.showDefault();
    
     

    JDK8中为了加强接口的能力,使得接口可以存在具体的方法,前提是方法需要被default或static关键字所修饰。

    这样做的好处是接口的每个实现类如果都想要相同的功能,就不需要重复代码,而是在接口进行定义即可。

    默认方法在子类也可以被重写。

  • 相关阅读:
    linux 下常用命令
    Mysql 数据库几种引擎的区别比较
    java 中使用ajax调用后台方法注意事项
    C# HtmlDocument和HtmlNode的使用以及节点的模糊查询
    Visio 保存卡死解决办法
    java outterLoop跳出多重循环用法以及详解
    webapi 文件下载输出接口
    获取web.config 内的值
    xml的读取(曾删改)
    from 验证
  • 原文地址:https://www.cnblogs.com/wqbin/p/11197522.html
Copyright © 2011-2022 走看看