疯狂java讲义2

接口:

  • 接口定义某一批类所需要的规范。规定类里必须提供某些方法。不提供实现
  • interface 
  • 一个接口可以有多个直接父接口,但接口只能继承接口。
  • 接口只能含有静态变量,方法(抽象方法,类方法,默认方法),内部类。无构造器和初始化块。
  • 只能用public
  • 成员变量自动添加public static final 修饰符,并且在定义时指定默认值。
  • 接口里的默认方法要用default修饰,定义类方法要用static修饰。
  • 接口可以多继承,接口不能用于创建实例,但可以用于声明引用变量类型。
  • 类可以实现多个接口用implements.   多继承。
  • 类要完全实现接口中定义的抽象方法,不实现的话这个类必须定义为抽象类。

接口和抽象类的区别:

  • 接口只能有抽象方法和默认方法,抽象类里可以有普通方法且有方法体。
  • 接口里不能定义静态方法,抽象类里可以定义静态方法。
  • 接口里只能定义静态常量,不能定义普通成员变量,抽象类可以。
  • 接口里不含构造器,抽象类里可以含构造器,抽象类里面的构造器不能创建对象,而是让子类调用构造器来完成抽象类的初始化。
  • 接口不能有初始化块,抽象类里可以有,
  • 一个类最多有一个直接父类,包括抽象类,但一个类可以有多个接口。

面向接口编程

  1. ’简单工厂模式
  2. 命令模式

内部类:为了更好地封装,不允许别的类访问该内部类。外部类。

  • 内部类成员可以直接访问外部类的私有数据,外部类不可以访问内部类的实现细节。
  • 匿名内部类适合用于创建仅需要使用一次的类,

猜你喜欢

转载自www.cnblogs.com/Aozorazy/p/10451482.html
今日推荐