java07:面向对象之继承

1、如何制作帮助文档

  1. 写一个类
  2. 加入文档注释
  3. 通过javadoc工具生成即可
    • 格式:javadoc -d 目录 -author -version Demo1.java

2、API帮助文档

  1. API:Application Programming Interface:应用程序编程接口,即:帮助文档

  2. 如何使用:查

  3. Math类:关于数学的类

    1. 是针对数学进行操作的类

    2. 没有构造方法,因为他的成员都是静态的

    3. 产生随机数的方法

      //[0.0, 1.0)
      public static double random();
      

      如何产生一个1–100之间随机数

      int number = (int)(Math.random()*100)+1
      
    4. 猜数字小游戏

3、代码块

  1. 用}{}括起来的代码

  2. 分类

    1. 局部代码块:用于限定变量的生命周期,及早释放,提高内存
    2. 构造代码块:把多个构造方法中相同的代码放到这里,每个构造方法执行前,首先执行构造代码块
    3. 静态代码块:对类的数据进行初始化,仅仅只执行一次
  3. 面试题:

    静态代码块、构造代码块、构造方法的顺序问题

    • 静态代码块 > 构造代码块 > 构造方法

4、继承

  1. 把多个类中相同的成员给提取出来,定义到一个独立的类中,然后让这多个类和该独立的类产生一个关系,这多个类就具备了这些内容,这个关系就叫做继承

  2. 格式:

    1. 用关键字extends表示
    2. class 子类名 extends父类名 {}
  3. 继承的好处

    1. 提高了代码的复用性
    2. 提高了代码的维护性
    3. 让类与类产生了一个关系, 是多态的前提
  4. 继承的弊端:

    1. 让类的耦合性增强,这样某个类的改变就会影响其他和该类相关的类
      • 原则:低耦合,高内聚
      • 内聚:自己完成某件事的能力,自己能做的就不麻烦别人
    2. 继承打破了封装性
  5. Java中继承的特点:

    1. java中类只支撑单继承。
    2. java中的类可以多层继承。继承体系
  6. 继承的注意事项:

    1. 子类不能继承父类的私有成员
    2. 子类不能继承父类的构造方法, 但是可以通过super去访问
    3. 不要为了不封功能而去继承
  7. 什么时候使用继承?

    1. 继承体现的是:is a 的关系
    2. 采用假设法
  8. java继承中的成员关系?

    1. 成员变量

      • 子类的成员变量名称和父类中的成员变量名称不一样,这样太简单

      • 子类中的成员变量和父类中的成员变量同名时,怎样访问?

        子类的方法访问变量的查找顺序:

        1.  首先在子类方法的局部范文找, 有就使用
        2.  在子类的成员范围找, 有就使用
        3.  在父类的成员范围找,有就使用
        4.  找不到就报错
        
    2. 构造方法

      1. 子类的构造方法中第一行语句默认会去访问父类的无参构造方法:是为了父类数据的初始化
      2. 父类中如果没有无参构造方法咋办?
        1. 子类通过super去明确调用带参构造
        2. 子类通过this调用本身的其他构造,但是一定会有一个区房问题父类的构造方法
        3. 让父类提供一个无参构造
    3. 成员方法

      1. 子类的成员方法和父类中的成员方法名称一样时, 怎么访问?通过子类对象访问一个方法的查找顺序:
        1. 首先在在子类中找,有就使用
        2. 再去父类中找,有就使用
        3. 都没有就报错

5、面试题

  1. Override和Overload的区别?
  2. this和super的区别和各自的作用?
  3. 一个类的初始化过程
  4. 子父类的构造执行过程
  5. 分层初始化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值