Java面向对象-抽象与接口

抽象方法

只有声明,但没有具体内容的方法

抽象方法不能直接被调用,需要重写

声明

与普通方法声明相同,加abstract关键字

abstract 作用域 返回类型 方法名();

抽象类

包含抽象方法的类就是抽象类

抽象类不能被直接使用,不能被实例化。

作用

用于告诉子类可以执行哪些操作,但没有规定具体的操作内容。

抽象类必须被继承,在子类中重写抽象方法。

(面向抽象编程)

声明

abstract class 类名{

扫描二维码关注公众号,回复: 9967228 查看本文章

}

继承

抽象类可以继承自抽象类

接口

一种特殊的类,只包含全局常量和public的抽象方法。

作用

接口可多继承(类只能单继承)

确定一个类的功能,面向接口编程

声明

interface 接口名{

全局常量

抽象方法

}

因为接口的所有方法都是public的抽象方法,因此可省略public abstract关键字

继承

  1. 接口可继承接口,不可继承抽象类和普通类
  2. 继承接口需使用implements关键字,并可继承多个接口
  3. 普通类继承接口时,必须重写接口的所有方法

    e.g.

    //声明接口A,包含两个抽象方法:printarea

    interface A{

    void print();

    float area(double r);

    }

    //声明接口B,包含抽象方法len

    interface B{

    float len(double w, double h}

    }

    //创建普通类,并继承自接口AB

    class Test implements A,B{

    //必须重写接口的所有方法

    @Override

    void print(){

    }

    @Override

    float area(double r){

    return 3.14*r*r;

    }

    float len(double w, double h){

    return w*h*2;

    }

    }

猜你喜欢

转载自www.cnblogs.com/AlMirai/p/12525873.html