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关键字所修饰。

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

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

  • 相关阅读:
    python3 爬虫继续爬笔趣阁 ,,,,,,,
    sql server 能按照自己规定的字段顺序展示
    文件下载功能django+js
    Django 实现文件下载
    队列,循环队列,乒乓队列区别
    文件系统常用操作(df, du)
    Raw与ProRes Raw(二、深入挖掘)
    图片格式入门(RAW, TIFF, JPEG)
    什么是ProRes Raw?(一、管中窥豹)
    linux的top命令分析
  • 原文地址:https://www.cnblogs.com/wqbin/p/11197522.html
Copyright © 2011-2022 走看看