Java之面向对象


继承:子承父业

  1. 目的:提高代码复用性。

  2. 作用:子类一旦继承父类,有权使用父类中的成员,可以在子类中定义子类独有内容

  3. 定义:子类 extends 父类

  4. 子类|实体类:根据一系列对象抽取共性所定义的实体类,子类是派生类 父类 : 子类的共性,是基类,超类

  5. 特点 :

    1. 单继承机制 ,一个子类只能继承一个父类,但是一个父类可以存在多个子类

    2. 修饰类只能使用public|default(默认可以不写)

    3. 开闭原则:面试对象设计原则之一 : 对修改关闭,对扩展开放

  6. 单继承的优点 : 简单

  7. 单继承的缺点 : 不便于后期维护

 

访问权限修饰符

  1. 注意:

    1. 都是成员修饰符,只能修饰成员,不能修饰局部

    2. 能够修饰类的 : public | default

    3. Protected修饰的成员在不同包下的子类中,需要通过继承关系使用

    4. 最常用的两种权限 : public|private

 

super 与 this 之间的区别

  1. this指代当前new对象

    1. 本类构造器的首行调用本类中的其他构造器this(参数列表)

    2. 区分局部与成员同名问题 默认就近原则,通过this.调用成员

  2. super 指代父类对象

    1. 子类构造器的首行,通过super(参数)调用父类中的指定构造器 如果没有显示通过super(参数)调用,默认调用父类的空构造

    2. 区分子父类中同名成员 如果不存在同名问题 : 可以省略super.调用父类成员 如果存在子父类同名成员问题,同名局部问题 :

      1. 默认就近原则

      2. 有局部找局部

      3. 通过this.找子类成员

      4. 通过super.找父类成员

  3. 注意:

    1. 子父类继承关系下 : 创建子类对象的时候,其实会先父类后子类

    2. 不能在构造器的首行同时使用this(参数)与super(参数)

    3. this与super都不能使用在静态方法中

 

重写与重载之间的区别

都是方法的特性

  1. 重载的实现条件 :

    1. 一个类中的多个方法

    2. 方法名相同

    3. 参数列表不同|方法签名不同

  2. 重写的实现条件:

    1. 两个类

    2. 继承|实现

    3. 方法签名完全相同

  3. 重写的需求 :

    1. 当子类从父类中继承的功能不满意的时候,可以在子类对从父类中继承的功能重新实现

  4. 调用使用 :

    1. 如果子类中没有重写,调用父类的,父类没有报错

    2. 如果子类存在重写方法,调用子类中重写后的方法,对父类的方法进行屏蔽

  5. 检测是否为重写方法 :

    1. idea行号后面的位置出现o向上箭头

    2. 在重写方法上添加注解 @Override

  6. 不能被重写的方法 :

    1. 被private修饰的方法不能被重写,能被子类继承,但是无权使用

    2. 被final修饰的方法不能被重写

    3. 被static修饰的方法不能被重写,可以被继承不能被重写 如果子类中出现与父类中静态方法同名的方法,要求子类中这个同名的方法也被static修饰

 

final 最终的

  1. 被final修饰的变量为常量

  2. 被final修饰的方法不能被重写

  3. 被final修饰的类不能被继承

 

Javabean

一系列实体类的统称,定义规范 :

  1. 类是公共的

  2. 至少一个空构造

  3. 属性私有化

  4. 提供一对公共的访问方式