接口,抽象类与内部类

---恢复内容开始---

抽象类

语法详解

当一个类中有一个抽象方法,那么他必须是一个抽象类

抽象类不能通过new来创建对象

抽象类可以包含抽象方法,但不是必须

若一个类继承自抽象类,那么他必须实现父类中的抽象方法,或者将自己声明为抽象类。

当一个类声明实现某个或某些接口,但是却没有实现它所有的抽象方法,那么这个类也必须声明为抽象类

接口中的抽象方法必须用public修饰,抽象类中的抽象方法可以用除了private以外的修饰符修饰。

想必接口,抽象类可以包含属性和方法,接口中只能包含抽象方法

抽象类的作用

若想要父类中的方法一定要被子类重写,则需要用到抽象类

内部类

  类的内部,方法的内部都能存在类,它们统称为内部类。

  类中的内部类——成员内部类

  方法中的内部类——局部内部类(类似于成员变量局部变量)

  内部类和普通类的语法规则都是相近的,并且也能使用继承,接口

  静态方法中不能使用非静态内部类

  内部类的使用

  java中引入内部类的目的是为了辅助外部类,所以绝大多数情况下内部类是在外部类的内部使用,很少会在外部类之外使用一个内部类。

  引入内部类时,import 外部类.内部类

  (*)在外部类之外使用内部类:1.非静态内部类new +外部类引用.new+内部类类名(构造方法参数)2.静态内部类,直接new内部类

  内部类可以访问外部类的所有成员,无论他的修饰符是什么

  匿名内部类

  1.匿名内部类没有名字

  2.匿名内部类没有构造方法

  3.匿名内部类无法显示的继承或实现接口

  4.匿名内部类没有修饰符

  匿名内部类的语法

  new 接口名(抽象类名)。之前说过,接口和抽象类不能被实例化,new关键词相当于创建了一个 实现了该接口(继承了该抽象类)的匿名类的实例

猜你喜欢

转载自www.cnblogs.com/ysh001/p/8984609.html