Java面向对象--抽象类和接口

抽象方法和抽象类的定义及特点

关键字abstract

抽象方法必须在抽象类内,抽象方法没有方法体

抽象类不能被实例化

抽象类中可以没有抽象方法、可以有普通方法

抽象类可以有构造方法(规范是保证抽象类有无参构造,以便子类调用)

接口:

接口的规则

1.接口关键字是interface,实现接口的关键字是Implements,接口之间可以用extends继承

2.接口不能被实例化,也没有构造方法,因为里面的方法全部都是公共抽象方法

3.接口可以有静态方法,但规范不建议

4.接口中的全部变量都是公共静态常量,一般在工作中一个接口可以全是常量,没有方法

5.接口用于扩展功能,多个接口可以被一个接口继承,多个接口可以被一个类实现

抽象类和接口的异同点

相同点

都代表抽象层,都不能被实例化,都可以包含抽象方法,都可以实现多态

不同点

接口不能有构造方法,接口不建议有静态方法

抽象类中可以有普通方法,抽象方法也可以不是公共的

抽象类的目的是代码重用(被继承),接口的目的是功能扩展(被实现)

抽象类便于复用,接口便于代码维护

一个类可以继承一个父类,但可以实现多个接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值