Java——day08

2016-11-17  本文已影响0人  王小宣

类的继承、内部类

类的继承

继承:面对对象设计的特征之一

继承的特点:
  1. 子类继承父类,子类只能有一个父类,父类可以有多个子类
  2. 子类继承了父类的除私有的成员属性和方法外的所有属性和方法(构造方法不包括在内)
  3. 子类会默认调用父类的无参构造器
  4. 子类只能有一个父类,父类可以有一个父类(A继承B,B继承C)
继承的优点:

继承有利于代码的复用,通过继承可以更有效地组织程序结构,并充分利用已有的类来完成复杂的任务,减少了代码冗余和出错的几率。

封装:隐藏实现功能的过程,提供实现功能的接口;
多态:对象在不同情况下具有不同表现的能力;

方法的重写:必须是子类继承父类,子类重写父类的方法
方法名、返回值、参数列表、权限修饰符都要一致,修饰符、方法体可以不一致。

变量的隐藏:子类与父类的成员变量名相同,局部变量与成员变量名相同,会产生变量隐藏。

抽象类

抽象:不同角色站在不同角度看世界
抽象类:被关键字abstract修饰的类
当类中的某一个方法不能实现功能,就定义为抽象类
抽象方法:只有方法声明,没有方法体
抽象类中有抽象方法,也可以有非抽象方法;有抽象方法的类必须是抽象类

抽象类与普通类的不同:

接口

接口是一个特殊的抽象类,它只包含有常量和抽象方法,没有变量和方法实现。

[public] interface 接口名[extends 父接口列表]{
    成员常量;//默认是public static final修饰的
    成员方法;//默认是abstract修饰的
 }

注意:

抽象类与接口的不同:

  1. 抽象类是一个类,类是继承,接口是实现;
  2. 抽象类是使用class定义,接口使用interface定义
  3. 接口只有静态的常量,抽象类有成员变量;
  4. 接口只有抽象方法,抽象类可以有非抽象方法;
  5. 抽象类是单继承,接口是多实现;
  6. 抽象类有构造方法,接口没有;

内部类、匿名类和最终类

内部类:指被嵌套在另一类中或者是方法中的类;

  1. 成员内部类:定义在成员位置的类
  1. 静态内部类:static修饰的成员内部类
  1. 方法内部类:定义在成员方法里面;

匿名类:匿名对象;

最终类:被final修饰的类,不能被继承;

上一篇 下一篇

猜你喜欢

热点阅读