Java学习系列(五)Java面向对象之抽象类、接口、内部类、枚举类详解
抽象类、接口常常与设计模式紧密相连。掌握抽象类、接口等其实很简单。下面以说明+实例的方式来讲,这样更容易理解。
抽象类
先看一个关键字“abstract”,我们知道它是抽象的意思。所谓抽象,说的直白一点就是同一件事情,有不同的实现。比如呼吸这个动作,人需要肺呼吸,而鱼需要鳃呼吸。代码实现如下:
//抽象枚举需要创建匿名内部类public enum Test {// 当枚举类是抽象类时,还需要立即创建匿名内部类的实例//这里的ADD和ADD()其实是一样的,都是创建实例并实现抽象方法。ADD {@Overridepublic double eval(double m, double n) {return m + n;}}, SUB {@Overridepublic double eval(double m, double n) {return m - n;}}, MULTI {@Overridepublic double eval(double m, double n) {return m * n ;}}, DIV {@Overridepublic double eval(double m, double n) {return m / n;}};// 如果枚举里面已经有了抽象方法,该枚举类默认就有了abstract修饰,此时该枚举类就没有了final修饰public abstract double eval(double m,double n);public static void main(String[] args) {System.out.println(Test.MULTI.eval(9, 9));}}结束语:今天就到这,明天开始学习Jar命令打包、正则表达式、国际化。