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

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-->

猜你喜欢

转载自1124442644.iteye.com/blog/2323879