后端java开发

接口和抽象类

2021-01-03  本文已影响0人  墨线宝

原文链接http://zhhll.icu/2020/05/08/java%E5%9F%BA%E7%A1%80/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/java%E5%9F%BA%E7%A1%80%E4%B9%8B%E6%8E%A5%E5%8F%A3%E5%92%8C%E6%8A%BD%E8%B1%A1%E7%B1%BB/

抽象类

抽象方法的声明没有方法体。

abstract void func();

包含抽象方法的类叫做抽象类。

public abstract class Basic{
    abstract void func();

    protected abstract void func1();

    public abstract void func2();
}

抽象方法默认是public的,不可以设置为private

接口

在java8之前的接口只允许有抽象方法,是一个完全抽象的类,没有提供任何实现
接口中的属性被隐式指明为static和final

public interface Inter{
    int m();
}

java8之后允许接口包含默认方法和静态方法
默认方法允许在不破坏已使用接口的代码的情况下,在接口中新增方法

public interface Inter{
    int m();
    default void newMethod(){
        System.out.println("新增方法");
    } 
}

静态方法可以将工具功能放在接口,从而操作接口

public interface Operations{
    void execute();
    
    static void runOps(Operations... ops){
        for(Operations op : ops){
            op.execute();
        }
    }
}

抽象类和接口比较

由于本身的博客百度没有收录,博客地址http://zhhll.icu

上一篇下一篇

猜你喜欢

热点阅读