抽象类和接口
java抽象类和接口
抽象类
抽象类:用abstract修饰的类叫做抽象类。
在讲抽象类之前有必要强调一下abstract修饰符:
abstract修饰的类为抽象类,此类不能有对象,(无法对此类进行实例化,说白了就是不能new);
abstract修饰的方法为抽象方法,此方法不能有方法体(就是什么内容不能有);
关于抽象类的使用特点:
抽象类不能有对象,(不能用new此关键字来创建抽象类的对象);
有抽象方法的类一定是抽象类,但是抽象类中不一定有抽象方法;可以有0到n个抽象方法,以及0到n具体方法。
抽象类中的抽象方法必须在子类中被重写。抽象方法生来就是要被重写的,而且是必须重写。
抽象类和普通类一样,各种形式的成员变量都可以声明,也需要构造方法。
接口
接口就是一个规范和抽象类比较相似。它只管做什么,不管怎么做。通俗的讲,接口就是某个事物对外提供的一些功能的声明,其定义和类比较相似,只不过是通过interface关键字来完成。
比抽象类更加抽象的是接口,在接口中所有的方法都是抽象的。
其中重要的几个知识点:
在接口中成员变量都静态成员变量,即省略了public static final修 饰符。
接口中的所有方法默认为抽象方法,即省略了public关键字。
声明接口使用interface关键字,interface前面的修饰符是public或省略。
某个类实现接口时,要在声明时使用implements关键字,当实现多个接口之间用逗号(,)分隔。
实现 接口时要实现接口中声明的所有原有的抽象方法。