美文网首页JavaSE
JavaSE Day06 面向对象、抽象

JavaSE Day06 面向对象、抽象

作者: 望穿秋水小作坊 | 来源:发表于2021-02-08 12:36 被阅读0次

    一、 面向对象之基础

    1. 子类对象的内存中,是否包含父类中定义的 private 成员变量?
    • 有包含
    • private的本质只是做了一层访问权限控制
    • 通过子类从父类继承来的 getter 或 setter 方法,就可以证明其存在
    2. 被 final 修饰的类、方法、变量有什么特点?
    • final 修饰类,类无法被继承
    • final 修饰方法,方法无法被重写
    • final 修饰变量,变量只能被赋值一次
    3. 在 Java 中什么被称为常量(Constant)?
    • static final 修饰的变量,称为常量
    image.png
    4. 内部类有什么特点(至少说两个)?内部类的内存分布图(脑海中要有印象)?
    image.png image.png image.png
    5. 静态嵌套类对比顶级类 有什么相同?有什么不同?(能各说一点即可)
    • 静态嵌套类在行为上就是一个顶级类,只是定义的代码写在另一个类中
    • 对比一般的顶级类,静态嵌套类多了一个特殊访问权限
    6. 什么情况下使用嵌套类?(能说出一点即可)
    • 如果必须先有 A 类,才会出现 B 类,可以把 B 类定义成 A 类的嵌套类
    image.png
    7. 局部类(先存个笔记,暂时不需要去看,忽略它)
    image.png

    二、 面向对象之抽象

    1. 抽象类对比一般类有什么不同?
    • 抽象类运行声明抽象方法
    • 抽象类不能实例化
    2. 什么情况下会使用抽象类?
    • 抽象子类的公共实现到抽象父类中,要求子类必须要单独实现的定义成抽象方法
    image.png
    3. 在 Java 中什么是接口? 接口一般以什么结尾?
    • ① 一系列方法声明的集合
    • ② 用来定义规范、标准
    • 接口的名字一般以 able 结尾,表示是具有一系列的能力
    4. Java 的接口中可以定义的一些内容?(说三点比较重要的即可)
    • 抽象方法
    • 默认方法
    • 静态方法
    image.png image.png
    5. 继承和实现的区别?
    • 继承表示的 is-a 的关系
    • 实现可以表示 has-a 的关系
    • Java 中只支持单继承,但是可以实现多个接口
    6. 继承和抽象类的对比(何时选择继承?何时选择抽象类?)
    image.png
    7. 如果父类定义的非抽象方法与接口的默认方法相同,最终将调用谁的方法?
    • 最终将调用父类的方法
    image.png
    8. 从 JDK8 开始,如果想对接口进行升级,添加新的功能,有哪三种做法?(必须要能回答出来)
    • 添加接口(但是所有的类必须实现新的接口,不然会报错)
    • 添加默认方法
    • 添加静态方法
    image.png
    9. 接口中如何定义静态方法以及如何调用?
    image.png
    10. 在 Java 中的接口有可选方法吗?
    • 没有,默认情况下接口的所有方法都要求实现,除非默认实现或静态方法

    相关文章

      网友评论

        本文标题:JavaSE Day06 面向对象、抽象

        本文链接:https://www.haomeiwen.com/subject/ckiztltx.html