一、抽象类
在解决实际问题的时候,一般将父类定义为抽象类,需要使用这个父类进行继承与多态处理。
抽象类的语法如下:
public abstract class TestAbstractClass{
abstract void testAbstractMethod();//定义抽象方法
}
使用abstract关键字定义的方法称为抽象方法,抽象方法没有方法体,这个方法本身也没有任何意义,除非它被重写,而承载这个抽象方法的抽象类必须被继承,这个抽象类除了被继承之外,没有任何意义。
抽象类被继承后需要实现其中所有的抽象方法,保证相同的方法名称、参数列表和相同返回值类型创建出非抽象方法。
二、接口
由于在Java中规定,类不能同时继承多个父类,因此接口的概念便应运而生。
接口中的所有方法都没有方法体,其语法如下:
public interface testInterface{
void testInterfaceMethod();//接口内的方法,省略abstract关键字
}
一个类实现一个接口可以使用implements关键字,代码如下:
public class TestChildClass extends TestParentClass implements testInterface{
...//
}
在接口中定义的方法必须被定义为public或abstract形式,其他修饰权限不被Java编译器认可,即使不将该方法声明为public形式,它也是public。
在接口中定义的任何字段都自动是static和final的。
多重继承的语法如下:
class 类名 implements 接口1,接口2,...,接口n