复习-Java基础
2025/9/22大约 3 分钟
复习-Java基础
数据类型
- 八个基本类型
- 基本的数据范围
- 包装器类
* - 自动拆装箱
- 128陷阱
- 缓存就是一个数组
- 基本类型在栈中
- 包装器对象在堆中
变量
- 常量是final修饰的
- 一旦被赋值就不能改变了
- final
- 修饰类,本类为最终类,不可被继承
- 修饰方法,本方法为最终方法,不可被重写,final类的所有方法都是默认被final修饰的
- 修饰变量,一旦被赋值,那么就不能被修改
- 这里应该是不可变类型的变量
- 方法参数
- java按值传递
- 实际的最终类型
- 为啥说java中的字符串是一个不可变的类型
- 为啥java中字符串是共享的
- 局部变量
- 块内使用
- 实例域
- 本类内使用
- 静态域
- 本类的所有实例共享
- 父类 变量=new 子类();
- 理解方法调用
- 父子类的加载问题
- 构造函数
- 特点
运算符
- i++ 和++i
- 位运算
- 左移
- 右移
- 无符号右移
- && 和&
- if(ab&&cd)
- if(ab&cd)
- == 和equals
- equals和hashcode
- 类型转换
- 自动类型转换
- 强制类型转换
- 父子类之间的
- instanceof
- 枚举
- 单例
字符串
== 和equals
new String("") 在堆中
String str = "abc" 在字符串常量池
StringBuilder 和StringBuffer
类
你的面向对象程序设计的认知,以及和面向过程的区别
- 解耦
- 内聚
继承
- Object
- 重写
- 重载
- 方法签名
- 参数列表,方法名
- 构造函数
- 理解方法调用
- 静态绑定
- 动态绑定
- this 和 super
封装
- 不让外接访问
多态
- 你对多态的理解
访问权限
- private
- defalut
- protected
- public
静态
- 静态域
- 静态方法
- 静态内部类
类初始化顺序
类和对象
对象的创建过程
反射
- Class对象的三种获取方式
- Class.forName("字符串");
- 字符串是一个全限定名
- 类.class
- 对象.getClass();
- Class.forName("字符串");
- 执行任意方法
- 强制读写私有域
- 异常
- 抛出
- try catch
- 异常体系
- 受查异常
- 非受查异常
- 反射的应用
- Spring ioc
- Servlet
接口&&lambda表达式&&内部类
接口
- 接口和抽象类的联系和区别
- 接口中的方法没有方法体
- 接口中默认的方法修饰符都是public
函数式接口
匿名内部类
静态内部类
- 不能访问外围类的非静态成员
- 也就是说只能访问外围类的静态成员
成员内部类
- 能访问外围类所有成员
局部内部类
- 不能用权限修饰符修饰
内部类中所有的静态域都必须是final的
- 要能解释
⭐代理
- 掌握这个设计模式
- jdk的动态代理
- CGLib的动态代理
- 常见的应用
- spring aop
- 读一读源码
- mybatis
- 读一读源码
- 找一找原理
- 仿写一个
- spring aop
异常
- 了解整个java的异常体系
集合
- 可以画一张层次结构图
- list
- arraylist
- linkedlist
- map
- hashmap
- concurrenthashmap
- treeMap
- set
- hashset
- treeset
- 跳表
- 抛硬币
