欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java面试必备之抽象类、接口

程序员文章站 2022-07-12 15:39:23
...

Java抽象类和接口

一、抽象类:

  1)abstract修饰

  2)包含抽象方法的类必须是抽象类

    不包含抽象方法的类也可以声明为抽象类----我乐意

  3)抽象类不能被实例化

  4)抽象类是需要被继承的,子类:

    4.1)重写所有抽象方法----常用

    4.2)也声明为抽象类------不常用

  5)抽象类的意义:

    5.1)包含公共的属性和行为,被子类所共享--代码重用

    5.2)为所有子类提供一种公共的类型--向上造型

    5.3)包含抽象方法,为所有子类提供一个统一的入口

        子类有不同的实现

  抽象方法:

  1)abstract修饰

  2)只有方法的定义,没有方法的实现(大括号都没有)

二、接口:

  1)是一个标准、规范

    遵守了这个标准,就能干某件事----API后了解

  2)interface定义,接口是完全抽象的抽象类,接口是继承的单根性的扩展

  3)只能包含常量和抽象方法

  4)接口不能被实例化

  5)接口是需要被实现/继承的,实现类/子类:

      必须重写接口中的所有抽象方法

  6)一个类可以实现多个接口,用逗分隔

    若又继承又实现时,应先继承extends后实现implements

  7)接口可以继承接口

三、内部类

内部类:内部类有自己独立的.class

  1)成员内部类:不太常用

    1.1)类中套类,外面的叫外部类,里面的叫内部类

    1.2)内部类通常只服务于外部类,对外不具备可见性

    1.3)内部类对象通常是在外部类中创建的

    1.4)内部类中可以直接访问外部类的成员(包括私有的)

        内部类中有个隐式的引用指向创建它的外部类对象

   语法: 外部类名.this.

  2)匿名内部类:比较常用

    2.1)如果想创建一个类的对象,并且对象只被创建一次,

        此时该类不必命名,称为匿名内部类

    2.2)匿名内部类中访问外部的数据,该数据必须是final

<!--EndFragment-->