抽象类和接口的使用及区别

抽象类和接口的使用及区别

抽象方法的概念

• 抽象方法主要指不能具体实现的方法并且使用abstract关键字修饰,也就是没有方法体。
• 具体格式如下:
访问权限 abstract 返回值类型 方法名(形参列表);
public abstract void cry();
• 抽象类主要指不能具体实例化的类并且使用abstract关键字修饰,也就是不能创建对象。

抽象类和抽象方法的关系

• 抽象类中可以有成员变量、构造方法、成员方法;
• 抽象类中可以没有抽象方法,也可以有抽象方法;
• 拥有抽象方法的类必须是抽象类,因此真正意义上的抽象类应该是具有
抽象方法并且使用abstract关键字修饰的类。

抽象类的实际意义

• 抽象类的实际意义不在于创建对象而在于被继承。
• 当一个类继承抽象类后必须重写抽象方法,否则该类也变成抽象类,也
就是抽象类对子类具有强制性和规范性,因此叫做模板设计模式。

开发经验分享

• 在以后的开发中推荐使用多态的格式,此时父类类型引用直接调用的所
有方法一定是父类中拥有的方法,若以后更换子类时,只需要将new关键
字后面的子类类型修改而其它地方无需改变就可以立即生效,从而提高
了代码的可维护性和可扩展型。
• 该方式的缺点就是:父类引用不能直接调用子类独有的方法,若调用则
需要强制类型转换。

抽象类的应用

• 银行有 定期账户和活期账户。继承自 账户类。账户类中:
• public class Account{
private double money;
public double getLixi(){}
}

接口的基本概念

• 接口就是一种比抽象类还抽象的类,体现在所有方法都为抽象方法。
• 定义类的关键字是class,而定义接口的关键字是interface。
• 如:
金属接口 货币接口 黄金类

类和接口之间的关系

在这里插入图片描述

抽象类和接口的主要区别

• 定义抽象类的关键字是abstract class,而定义接口的关键字是interface。
• 继承抽象类的关键字是extends,而实现接口的关键字是implements。
• 继承抽象类支持单继承,而实现接口支持多实现。
• 抽象类中可以有构造方法,而接口中不可以有构造方法。
• 抽象类中可以有成员变量,而接口中只可以有常量。
• 抽象类中可以有成员方法,而接口中只可以有抽象方法。
• 抽象类中增加方法时子类可以不用重写,而接口中增加方法时实现类需
要重写(Java8以前的版本)。
• 从Java8开始增加新特性,接口中允许出现非抽象方法和静态方法,但非抽象方法需要使用default关键字修饰。
• 从Java9开始增加新特性,接口中允许出现私有方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值