javase重新开始系列之抽象类与接口

当需求中只需要用到子类的实例和方法,父类的实例及方法是用不到的,

这时使用抽象类限制父类的实例化,使用抽象方法优化代码。


抽象是面向对象的一种重要方法,通过抽象我们能够设计一个更普通、更通用的类。

关键字abstract 可用来修饰方法和类,表示“尚未实现”的含义。

抽象类声明格式

[访问权限]  abstract  class类名{……}//例 abstract class A{.....}

抽象类不能实现实例化,否则无法通过编译

抽象类通常至少定义一个抽象方法,但允许没有抽象方法

如果子类没有父类的所有的抽象方法,那么该子类必须声明为抽象类

抽象方法声明格式:

访问权限  abstract  返回类型方法名([参数表]); //例public  abstract   double  getArea();

抽象方法 没有方法体
抽象方法 必须在抽象类
抽象方法 必须在子类中被实现,除非子类是抽象类
抽象方法 不能被 private final static 修饰



interface(接口)


接口是抽象方法和常量值的定义的集合。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有方法的实现。

接口的修饰符可以是public缺省

接口中的方法都是抽象的和公有(public)

声明格式:

[权限修饰符]  interface 接口名 [extends父接口列表]{

  //抽象方法和静态常量

}

接口可以用extends继承另一个接口





猜你喜欢

转载自blog.csdn.net/jasonsama/article/details/52180457