抽象类和接口

抽象类和接口

1 抽象类

  java语言中,用abstract 关键字来修饰一个类时,这个类叫做抽象类,用abstract 关键字来修饰一个方法时,这个方法叫做抽象方法。

  abstract class abstractClass{ }            //抽象类

  abstract returnType abstractMethod([paramlist]) //抽象方法

l         抽象类必须被继承,抽象方法必须被重写。抽象方法只需声明,无需实现;抽象类不能被实例化,抽象类不一定要包含抽象方法。

l         若类中包含了抽象方法,则该类必须被定义为抽象类。

l         若一个类继承了一个抽象类,则抽象类的抽象方法必须被实现,否则子类必须声明为abstract.

2 接口

接口是抽象类的一种,只包含常量和方法的定义,而没有变量和方法的实现,且其方法都是抽象方法。它的用处体现在下面几个方面:

l         通过接口实现不相关类的相同行为,而无需考虑这些类之间的关系。

l         通过接口指明多个类需要实现的方法。

l         通过接口了解对象的交互界面,而无需了解对象所对应的类。

1)接口的定义

接口的定义包括接口声明和接口体。

l         接口声明的格式如下:

[public] interface interfaceName[extends listOfSuperInterface] { }

extends 子句与类声明的extends子句基本相同,不同的是一个接口可有多个父接口,用逗号隔开,而一个类只能有一个父类。

l         接口体包括常量定义和方法定义

常量定义格式为:type NAME=value; 该常量被实现该接口的多个类共享; 具有public ,final, static的属性。在接口中只能声明常量,不可以声明变量。

方法体定义格式为:returnType methodName([paramlist])

具有 publicabstract属性,不能声明为protected

注意:在接口的实现类中,实现的接口方法必须声明为public ,因为接口中定义的方法为public(默认)。所以其实现必须声明为public.否则编译不会通过。

2)接口的实现

  在类的声明中用implements子句来表示一个类使用某个接口,在类体中可以使用接口中定义的常量,而且必须实现接口中定义的所有方法。一个类可以实现多个接口,implements子句中用逗号分开。

3 接口类型的使用

  接口作为一种引用类型来使用。任何实现该接口的类的实例都可以存储在该接口类型的变量中,通过这些变量可以访问类所实现的接口中的方法。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值