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

Java中的abstract和Interface

标签:
Java

abstract:修饰符可以修饰类和方法。抽象类不能实例化,不能new出对象。
子类继承抽象类,必须实现父类的抽象方法,否则子类也必须是抽象类
abstract修饰符修饰的类叫做抽像类
注意:有抽象方法的类一定是抽象类,抽象类不一定有抽象方法。
有抽象方法的类,必须是抽象类。但是抽象类中不一定有抽象方法

  • 抽象类不能实例化,只能实例化它的子类,但是子类也不能是抽象类
    抽象方法没有方法体,抽象方法以分号 ; 结束 public abstract void fun();
    抽象方法没有方法体,构造方法没有返回类型
    抽象类可以用于声明,但不允许创建对象
    抽象类可以被子类继承,从而创建子类对象
    abstract修饰的方法叫做抽象方法
    拥有抽象方法的类必须是抽象类
    抽象方法由子类实现
    抽象类是更高层次的抽象

接口(Interface)是种特殊的抽象类。
接口里面的属性都是public static final类型的,
接口里面的方法都是public abstract类型的。
一个类可以实现多个接口,但只能继承一个父类。
一个接口可以继承多个父类接口(接口可以多重继承,而类不行)
接口可以多重继承,继承多个父类接口。
接口侧重于描述对象的功能性特征。
接口继承接口使用 extends 关键字
接口实现了特殊的多继承
子类的多实现的同时还可以继承一个父类

使用接口的好处:增加程序的通用性
声明引用时要使用接口类型
方法的参数要声明成接口类型
方法的返回值要声明成接口类型
接口特性
1.接口不可以被实例化
2.实现类必须实现接口的所有方法
3.实现类可以实现多个接口
4.接口中的变量都是静态常量

接口就是标准,它不负责具体的实现

抽象类描述事物的本质 xxx is a xxxx
接口描述事物的功能 xxx has a xxx
任何一个事物都可以从它是什么,以及它有什么两方面来分析
区别:
1.接口是公开的,里面不能有私有的方法或变量,而抽象类是可以有私有方法或私有变量的
2.实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法
3.接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现

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

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消