【java知识点】java中default关键字在 switch语句 和 接口 中的使用

一、default关键字在 switch语句中的使用

首先看一个例子:

public class DefaultTest {
    public static void main(String[] args) {
        int a = 4;
        switch (a){
            case 0:
                System.out.println("value is 0");
                break;
            case 1:
                System.out.println("value is 1");
                break;
            case 2:
                System.out.println("value is 2");
                break;
            default:
                System.out.println("default value");
        }
    }
}

上边的案例中,输出的最终结果为“default value”

在这里需要注意的是:
default关键字在switch语句中使用时,需要注意的是每一个case语句后面都需要添加一个break,不然不仅仅会输出正确的值,还会把后面的所有值都输出

二、default关键字在接口中的使用

我们本来写Java接口的时候,是不能有方法体的函数,但是default关键字在接口中修饰方法时,方法可以有方法体,来看一个例子。

interface Myinterface{
    public void myinterface();
    default void getMessage(){
        System.out.println(" Get  Mesage");
    }
    default void Message(){
        System.out.println("Mesage  value");
    }
}
class Message implements Myinterface{
    @Override
    public void myinterface() {
        System.out.println("default");
    }
    public void Message(){
        System.out.println("change message");
    }
}
public class DefaultInterface {
    public static void main(String[] args) {
        Myinterface myinterface = new Message();
        myinterface.getMessage();
        myinterface.Message();
    }
}

运行上面的程序得出的结果是: Get Mesage change message

总结default在接口中的使用:
default在接口中的出现改变了传统接口的实现模式,可以定义普通方法,这样如果某些方法对于某些子类都有同样的实现。运行结果符合Java多态的特性,default关键字可以让接口中的方法可以有默认的函数体,当一个类实现这个接口时,可以不用去实现这个方法,当然,这个类若实现这个方法,就等于子类覆盖了这个方法,最终运行结果符合Java多态特性。

你可能感兴趣的:(Java基础)