抽象类&接口

抽象类

关键字:abstract

修饰范围:可以用来修饰类、方法

1、修饰类:抽象类

①不可被实例化
②抽象类有构造器 (凡是类都有构造器)
③抽象方法所在的类,一定是抽象类。
④抽象类中可以没有抽象方法。

2、修饰方法

①格式:没有方法体,包括{}.如:public abstract void eat();
②抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类,由子类重写此抽象方法。
③若子类继承抽象类,并重写了所有的抽象方法,则此类是一个"实体类",即可以实例化
④若子类继承抽象类,没有重写所有的抽象方法,意味着此类中仍有抽象方法,则此类必须声明为抽象的!

 

接口

关键字:interface

接口(interface) 是与类并行的一个概念
1.接口可以看做是一个特殊的抽象类。是常量与抽象方法的一个集合,不能包含变量、一般的方法。
2.接口是没有构造器的。
3.接口定义的就是一种功能。此功能可以被类所实现(implements)。
 比如:class CC extends DD implements AA
4.实现接口的类,必须要重写其中的所有的抽象方法,方可实例化。若没有重写所有的抽象方法,则此类仍为一个抽象类
5.类可以实现多个接口。----java 中的类的继承是单继承的
6.接口与接口之间也是继承的关系,而且可以实现多继承

PS:接口中的方法默认修饰符为public,接口中的变量默认修饰符为public static final,即默认为常量

 

注意:

关于抽象类:JDK1.8之前,抽象类的方法默认修饰符为protected,JDK1.8之后,抽象类的方法默认修饰符为default

关于接口:JDK1.8之前,接口中的方法必须是public,JDK1.8之后接口中的方法可以是public,也可以是default

 

zwy

posted @ 2019-04-13 17:39  zwyk  阅读(39)  评论(0)    收藏  举报