为了账号安全,请及时绑定邮箱和手机立即绑定

接口和抽象类的使用和对比

标签:
Java

Java的抽象体现在抽象和接口两个方面。
一、抽象类
抽象类是对事物的抽象,即对类的抽象,包括属性和方法。abstract修饰符来修饰。包含抽象函数的类称为抽象类。抽象类不能实例化,适用于继承的。抽象类中的抽象方法不用实现,子类必须实现继承的父类的抽象方法。
二、接口
接口是方法的抽象,方法的提供接口,只需要定义定义方法,不需要实现。实现该接口的类必须实现接口中定义的方法。
三、抽象类和接口的区别(形象的例子说明)
飞机和鸟是不同类的事物,但是它们都有一个共性,就是都会飞。那么在设计的时候,可以将飞机设计为一个类Airplane,将鸟设计为一个类Bird,但是不能将 飞行 这个特性也设计为类,因此它只是一个行为特性,并不是对一类事物的抽象描述。此时可以将 飞行 设计为一个接口Fly,包含方法fly( ),然后Airplane和Bird分别根据自己的需要实现Fly这个接口。然后至于有不同种类的飞机,比如战斗机、民用飞机等直接继承Airplane即可,对于鸟也是类似的,不同种类的鸟直接继承Bird类即可。

//接口
public interface FlyGood {
    public abstract void fly();
}
public class TestClass implements FlyGood{
    public void fly(){
        System.out.println("I CAN FLY!");
    }
}
public class Airport implements FlyGood{
    public void fly(){
        System.out.println("I also can fly !");
    }
}
//抽象类
public abstract class FlyGood {
    public abstract void fly();
}
public class Airport extends FlyGood{
    public void fly(){
        System.out.println("I also can fly !");
    }
}

注意:1、一个类可以implements多个接口,但是一个类只能extends一个父类,这也是接口弥补父类的一个优势

点击查看更多内容
13人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消