Java小记__抽象类和接口

本文详细解释了抽象类和接口的概念及其特点。介绍了抽象类如何作为其他类的基础模板,并通过继承提供具体实现;同时探讨了接口如何作为一种协议,规定类必须实现的方法。还对比了二者在设计时的不同应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

抽象类: 没有足够的信息来描述这个类而需要其他类来支持他 , 这样的类为抽象类.

特点介绍:

  • 抽象类中可以有变量 , 可以有方法 .
  • 抽象的出发点是为了继承.(所以一般叶子节点是更具体的实现类)
  • 不能实例化
  • 抽象方法必须由子类来写
  • 有抽象方法就必须为抽象类
  • 可以不包含抽象方法
  • 子类的抽象方法不能与父类相同
  • 一个类不能既是抽象的又是final的
  • 一个方法不能既是抽象的又是private,static,final或者native的

接口: 比抽象更加抽象(不能new) ,他是类与类之间的协议 , 提供的只有定义没有实现.

特点介绍:

  • 实现它必须实现所有方法
  • 一个类可以实现多个接口
  • 是对不能多继承的补充
  • 接口的所有方法默认为public的
  • 接口可以定义成员变量 ,但必须是不可变的量.public static final (可通过类名直接访问)
  • 可以使用instanceOf 验证是否实现了某个接口 obj instanceof Comparable
  • 实现多接口时请注意方法同名问题

接口是从上而下设计出来的 , 抽象类是从下向上抽象出来的.


举例如下:

接口

对类抽象 , 飞机会飞 , 野鸡会飞 , 专门对于飞这个行为就可以编写一个接口 ,有实现类去实现自己的具体飞的行为.

抽象类

对行为抽象, 首先有狗,还有猫 , 有了猫和狗就可以抽象出来动物这个类.

参考博客:
http://blog.youkuaiyun.com/qq_35101189/article/details/58065040

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值