<
Java 随手笔记
>
上一篇

jQuery 笔记
下一篇

Java 中面向对象的三大特性
边学边记 ING
苏轻最后编辑于 2018 年 12 月 10 日 17:35:39

Java 笔记

目录

final

抽象方法和抽象类

  使用 abstract 修饰的方法和类被称为抽象方法和抽象类。只有抽象类中才会有抽象方法,抽象方法只有声明,没有方法体。抽象类的子类必须重写父类的抽象方法,给抽象方法提供具体的实现。通过抽象类中抽象方法必须实现的限制,我们就可以得到相似的子类,子类之间必定具有共通点。
  虽然抽象类可以包含属性、方法、构造方法,但是抽象类不能实例化,只能被继承。

接口

  接口就是比抽象类还“抽象”的“抽象类”,更加规范地对子类进行了约束,全面实现了规范和具体实现的分离。抽象类中某些类还是提供了具体实现的,而接口则是不提供任何的实现,接口中的所有方法都是抽象方法。接口完全面向规范,规定了一批类具有的公共方法规范。

  从接口的实现者角度看,接口定义了可以向外部提供的服务。从接口的调用者角度看,接口定义了实现者可以提供的服务。接口是两个模块之间通信的标准和规范,只要把所要设计的模块之间的接口定义好,就相当于完成了系统的设计大纲,剩下的就是实现了。我们通常使用“面向接口”的思想来设计一些系统。

  接口和实现类之间不是父子关系,是实现规则的关系。接口就是规范,定义的是一组规则,体现了“若是……则必须……”的思想。接口的本质像契约一样,制定好之后必须遵守。

  面向对象的精髓,是对对象的抽象,而最能体现这一点的就是接口。

[访问修饰符] interface 接口名 [extends 父接口1, 父接口2] {
    常量定义;
    方法定义;
}
// for example
public interface Father {
  public static final string = "This is just a test!";
}
public interface Child [extends Father] {
  public abstract output();
}

  面向接口编程是面向对象编程的一部分,软件设计中最难处理的就是需求的复杂变化,而需求的复杂变化更多体现在具体的实现上。面向接口编程需要我们把握住真正核心的东西,制定的接口规范必须是项目中最稳定不变的部分,有时候设计比实现要更加困难。

  接口本身的语法很简单,如何学会灵活的使用才是重点。


内部类

  通常情况下,我们把每个类定义成独立的单元,而有时我们把一个类放在另一个类的内部定义,这种类就称为内部类(innerclasses)。内部类可以使用publicdefaultprotectedprivatestatic修饰,而外部类只能使用publicdefault修饰。

  内部类只是一个编译时的概念,一旦编译成功每个类会生成各自的.class字节码文件,它们是相互独立的关系。但是内部类只能让它的外部类直接访问,不允许同一个包中的其他类直接访问。内部类可以直接访问外部类的私有属性,内部类被当成外部类的成员,但是外部类不能访问内部类的内部属性。

Top
Foot