抽象类
越是处于顶层定义的类,实际上可以进一步地进行抽象。抽象类里可以有抽象方法(也可以没有)。抽象类完全由子类来实现,父类中不需要提供实现。例如,对于该父类一定有子类实现该父类的抽象方法
子类实现抽象方法
抽象类由于不是具体的类定义(它是类的抽象)可能会存在某些方法没有实现,因此无法直接通过new关键字来直接创建对象,要使用抽象类,只能去创建它的子类对象。抽象类一般只做继承使用,但抽象类也可以作为子类
不过值得注意的是,抽象类的访问权限不能是private,因为抽象方法一定要由子类实现,不然抽象类就没意义了
枚举
Java中的枚举是一种类型,顾名思义:就是一个一个列举出来。所以它一般都是表示一个有限的集合类型,它是一种类型。通过枚举可以用使用定义好的状态。例如,定义一个枚举类
使用枚举类也很方便,就像使用普通类型那样
枚举是普通类,也可以给枚举添加独有的成员方法
这样就可以按照中文打印了
接口
接口甚至比抽象类还抽象,它只代表某个确切的功能!也就是只包含方法的定义,甚至都不是一个类!接口一般只代表某些功能的抽象,接口包含了一些列方法的定义,类可以实现这个接口,表示类支持接口代表的功能(类似于一个插件,只能作为一个附属功能加在主体上,同时具体实现还需要由主体来实现)。实际上接口的目标就是将类所具有某些的行为抽象出来。比如说,对于人类的不同子类,学生和老师来说,他们都具有学习这个能力,既然都有,那么就可以将学习这个能力,抽象成接口来进行使用,只要是实现这个接口的类,都有学习的能力。例如,
实现接口中的抽象方法
接口不同于继承,一个类可以实现多个接口
接口和抽象类一样不能创建,但是可以将接口实现类的对象以接口的形式去使用
接口同样支持向下转型
从Java8开始,接口中可以存在方法的默认实现,如果方法在接口中存在默认实现,那么实现类中不强制要求进行实现
接口不同于类,接口中不允许存在成员变量和成员方法,但是可以存在静态变量和静态方法
跟普通的类一样,可以直接通过接口名.的方式使用静态内容,例如
接口是可以继承其他接口的,而且接口没有继承数量限制,接口支持多继承
标签:Java,实现,子类,接口,枚举,抽象,抽象类 From: https://www.cnblogs.com/yunque01/p/17078742.html