java 中的抽象类、接口

抽象类(abstract):
    在面向对象设计中,越处于继承结构顶层的类,就越概括,越抽象。
 修饰的方法: 这种方法会成为一种抽象方法.
抽象方法一定要让子类覆盖并且给予实现的.
抽象类不一定包含抽象方法,但有抽象方法的类一定是抽象类.
abstract 一定不能和 private, static, final 同时使用.

修饰类: 这个类成为一个抽象类.
抽象类不能创建对象 (构造函数可以被子类继承).
抽象类可以作为声明,引用,编译时类型,但不可以作为一个运行时类型.
抽象类是专门供子类继承用的
Java中用abstract关键字修饰方法和类:
抽象方法
    只有方法头,没有方法体定义,也就是说抽象方法无需实现。

java 中的抽象类、接口

抽象类

java 中的抽象类、接口

含有抽象方法的类,必须声明为抽象类
由于是一种没有完全实现的类,抽象类不能实例化
java 中的抽象类、接口
接口(interface):
Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为
接口(interface)是Java的四大类型之一
    (class, interface, enum, annotation)
接口本质上是一个特殊的抽象类,不能被实例化。
接口是完全抽象的
接口(interface):声明接口
java 中的抽象类、接口

自动修饰为 public static final

自动修饰为 public abstract

接口不能直接实例化,需要加以实现后,才能实例化

java 中的抽象类、接口java 中的抽象类、接口

java 中的抽象类、接口
接口(interface):常量接口
在常量的定义中,经常把常量定义在接口中,比如:


java 中的抽象类、接口
一个程序没有常量会变成什么样?
比如:
有一个方法a,接收用户的输入值,保存数据查看的方式。
有另一个方法b,根据数据的查看方式,显示相应数据。
没有常量,程序的稳健性受到影响。
接口(interface):接口的继承
一个接口可以继承于另外的一个或多个接口并自动获得继承接口中的所有的属性和方法的定义。
java 中的抽象类、接口

java 中的抽象类、接口
接口(interface):抽象类 vs Interface
java 中的抽象类、接口