java 抽象类与接口
抽象类
1.只要类中有一个抽象方法,这个类就被标记为抽象类。
2.抽象类被继承后需要实现类中的所有抽象方法(也就是保证以相同的方法名称、参数列表、返回值类型创建出非抽象方法,当然也可以是抽象方法)。
3.抽象类中可以同时有抽象方法和非抽象方法。
定义抽象类的语法如下:
public abstract class Parent{
abstract void testAbstract();
}
接口
1.接口是抽象类的延伸,可以将它看作是纯粹的抽象类,接口中的所有方法都没有方法体。
2.可以将draw()方法封装到一个接口中,使需要draw()方法的类实现这个接口,同时也继承图形类。
3.在接口中,方法必须被定义为public或abstract形式,其他修饰权限不被java编译器认可。或者是,即使不将该方法声明为public形式,它也是public形式。
4.在接口中定义的任何字段都自动是static和final的。
5.Java中不允许出现多重继承,但使用接口可以实现多重继承。一个类可以同时实现多个接口,因此可以将所有需要继承的接口放置在implements关键字后并使用逗号隔开。语法如下:
class 类名 implements 接口1,接口2,...,接口n
但这可能会在一个类中产生庞大的代码量,因为继承一个接口时需要实现接口中所有的方法。
6.一个接口可以继承另一个接口,其语法如下:
interface intf1{}
interface intf2 extends intf1{}