抽象类与接口

抽象类的基本概念

在java中可以创建一种类专门用来当做父类,这种类称为“抽象类”。抽象类其实也是一个类,只是与普通的类相比,其中多了抽象方法。那什么是抽象方法呢?抽象方法就是只声明而未实现的方法,所有的抽象方法和包含抽象方法的类必须使用abstract声明。

抽象类的定义规则:

1.抽象类和抽象方法都必须用abstract关键字来修饰。

2.抽象类不能直接被实例化,也就是不能直接使用new关键字去产生对象。

3.抽象方法只需要声明,不需要实现。

4.含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆写所有的抽象方法后才能被实例化,否则子类还是抽象类。

抽象类与普通类是一样的,有构造方法、一般方法和属性,更重要的是还可以有一些抽象方法留给子类去实现,而且在抽象类中声明构造方法后,在子类中必须明确调用(super

接口的基本概念

接口(interface)是java提供的另一种重要技术,它的结构与抽象类非常相似,也具有数据成员和抽象方法,但是与抽象类还有有以下两点的区别:

1.接口里的数据成员必须初始化,且数据成员均是常量。

2.接口里的方法必须全部声明为abstract,也就是说,接口不能像抽象类一样保有一般的方法,必须全部是抽象方法。

接口中抽象方法的abstract是可以省略的,数据成员的关键字final也是可以省略的。

因此以上两点可以简化为:

1.接口里的“抽象方法”只要做声明即可,而不用定义其处理方式。

2.数据成员必须赋初值。

利用接口打造新的类的过程,称之为接口的实现。(implementation)

class 类名称 implements 接口A,接口B    //接口的实现

{

.......

}

一个类只可以继承一个父类,但是却可以实现多个接口。这一点是java实现多继承的机制。接口的扩展(继承)也是通过关键字extends来实现的。与类不同的是,一个接口可以继承多个接口。

interface 子接口名称 extends 父接口1,父接口2,...

{

.......

}

转载于:https://my.oschina.net/u/3718722/blog/1570303

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值