RuiCode

  • 首页
  • 归档

  • 搜索
操作系统 并发 排序 网络 源码分析 二分法 面试 不重复算法 指针移动 java 算法 mysql Linux

【面试经】java基础知识(二)-- 抽象类、内部类、父类、final修饰符

发表于 2020-02-12 | 分类于 面试经 | 1 | 阅读次数 303
  1. 抽象类和接口
  • 抽象类的abstract修饰类名或者方法名,成员变量不可以修饰
  • 抽象类用extends,接口用implements
  • 抽象类成员变量可以用private等修饰符修饰,abstract成员方法不能用private、static、synchronized、native等修饰;接口成员变量默认是public static final修饰,所有成员方法只能用public、abstract修饰
  • 都不能被实例化
  1. 内部类
  • 静态内部类 static class InnerClass{} 静态内部类不可以访问外部类的普通成员,可以访问static成员
  • 成员内部类 和外部类绑定在一起 只有外部类实例化后内部类才可以实例化 不可以有static成员
  • 局部内部类 代码块的类
  • 匿名内部类 不使用关键字class、extends、implements,没有构造方法,必须继承其他类或者实现其他接口,一定在new之后。创建一个 Thread 或者 Runnable 就是匿名内部类的例子 new Thread(){public void run()};
  1. 获取类名
  • 使用反射获得类名
  • 本类类名 this.getClass().getName();
  • 父类类名 this.getClass().getSupperClass().getNsme();
  • 使用super.getClass().getName() 依然是子类类名 getClass() 调用的是Object中的getClass()
  1. final修饰符
  • final成员变量 引用不可变
  • final方法 子类不可覆写,但是可以使用
  • final参数 在方法内部该参数不可修改
  • final类 该类不可继承,但是该类成员变量不是final
  • finalize() GC调用被回收对象的finalize()
  • 本文作者: RuiCode
  • 本文链接: https://www.ruicode.cn/archives/面试经java基础知识二
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 操作系统 # 并发 # 排序 # 网络 # 源码分析 # 二分法 # 面试 # 不重复算法 # 指针移动 # java # 算法 # mysql # Linux
【面试经】JAVA基础知识(一)-- 语言特性
【面试经】JAVA基础知识(三)-- static、volatile关键字 、不可变类
  • 文章目录
  • 站点概览
RuiCode

RuiCode

19 日志
5 分类
13 标签
Creative Commons
© 2021 RuiCode
由 Halo 强力驱动
|
主题 - NexT.Pisces v5.1.4

冀公网安备 13050002001906号