Java基础知识之抽象

注意点:

1、抽象方法必须被实现

抽象和接口的区别?


  • 抽象:

》用 abstract 关键字来修饰一个类,此类称为抽象类。

》用 abstract 来修饰一个方法,此方法称为抽象方法。抽象方法中,只有方法的声明,没有方法的实现,以分号结束。

》含有抽象方法的类必须被声明为抽象类。

》抽象类不能被实例化。抽象类是用来被继承的,抽象类的子类必须重写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍为抽象类。

》不能用abstract 修饰变量、代码块、构造器;

》 不能用abstract修饰私有方法、静态方法、final的方法、final的类。

  • 接口

接口(interface)是抽象方法和常量值定义的集合。

》接口特点:

~用interface来定义。

~接口中的所有成员变量都默认是public static final修饰的。

~接口中的所有抽象方法都默认有public abstract修饰。

~接口中没有构造器。

~接口采用多继承机制。

》定义java类的语法格式:先写 extends,后写 implements

》一个类可以实现多个接口,接口可以继承其他接口。

》实现接口的类中必须提供接口中所有方法 的具体实现内容,方可实例化。否则,仍为抽象类。

》接口的主要用途是被实现类实现。(面向接口编程)

》与继承关系类似,接口与实现类之间存在多态性。

》接口和类是并列关系,或者理解为一种特殊的类。本质上来讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义(JDK1.7之前),而并没有变量和方法的实现。

分别应用于什么场景?


1、抽象类的使用场景

接口是对行为的抽象。既想约束子类具有共同的行为(但不再乎其如何实现),又想拥有缺省的方法,又能拥有实例变量。

如:模板方法设计模式,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中某些步骤的具体实现。

2、接口的应用场景

① 约束多个实现类具有统一的行为,但是不在乎每个实现类如何具体实现

② 作为能够实现特定功能的标识存在,也可以是什么接口方法都没有的纯粹标识。

③ 实现类需要具备很多不同的功能,但各个功能之间可能没有任何联系。

④ 使用接口的引用调用具体实现类中实现的方法(多态)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值