Java核心[8]:详谈抽象类与接口的使用
1、抽象类的类体主要是抽象方法。定义抽象类需要使用abstract class来声明和定义。在抽象类中所有的方法都需要是抽象的,即用abstract声明。
2、抽象类有以下格式需要遵守:抽象类及其方法用abstract来修饰;抽象类不能使用new关键字来实例化;抽象方法只有声明没有实现;抽象类中的方法必须在子类中全部实现。
3、下面我们定义一个简单的抽象类;
例子中我们定义了一个Animal类,其中我们定义了一个抽象方法,即say()方法;
在子类中我们定义一个子类Dog类,其中我们实现了方法,say()方法,即实现狗叫的功能。
最后通过子类实例化对象,我们实现了狗叫的功能。代码与结果如下:
![Java核心[8]:详谈抽象类与接口的使用](https://exp-picture.cdn.bcebos.com/430174fec314f1c56b62ba723c27ac5307889d20.jpg)
1、接口(interface)是Java提供的一种重要技术,不仅是对抽象类的补充,也是对Java没有多重继承机制的一种弥补。
2、接口与抽象类相似,但又有不同。接口里的数据成员必须有初值,并且为常量,即用final关键字来声明和初始化。接口的定义不用abstract,而使用interface关键字来声明。和抽象类相同的是,接口里的所有方法也必须是抽象方法。
3、接口里的实现需要使用implements关键字,其实现格式如下:
class 类名称 implements 接口A,接口B
{
... //接口的实现
}
4、下面我们来看下接口的定义和实现是如何编写的。在下图代码中我们定义2个接口类A,B;
我们再定义一个类C,实现A和B类的接口;最后输出相应的结果,代码及结果如下:
![Java核心[8]:详谈抽象类与接口的使用](https://exp-picture.cdn.bcebos.com/ad121888912ca5cad9656bfb8bfc77f7990e9420.jpg)