Java基础
- Java特点
- 环境搭建
- Java 基础语法
- 数据类型
- 流程控制
- 数组
- 面向对象
- 方法
- 重载
- 封装
- 多态
- 继承
- 类
- 类变量(又叫静态变量)
- 类方法(又叫静态方法)
- 接口
- 枚举
- 常用类
- String
- 日期时间
- 集合类
- 泛型
- 注解
- 异常处理
- 多线程
- IO 流
- 反射
- 经典面试题:
Java特点
环境搭建
Java 基础语法
数据类型
流程控制
数组
面向对象
方法
重载
封装
多态
继承
类
类变量(又叫静态变量)
特点:会被该类的所有对象实例共享;在类加载(new)的时候就生成了
- 类变量在内存中的位置:
- jdk8以前:存在于类加载的方法区里的静态域;
- jdk8以后:存在于堆里面这个类加载生成的Class对象的尾部。 - 类变量的访问
- 类对象实例.static变量
- 类.static变量(说明:类变量随着类的加载而创建,所以没有创建类的对象实例也能访问类变量) - 类变量的生命周期:随着类加载而开始,类销毁而销毁。(不会因为类实例对象的销毁而销毁的)
类中的变量加上static就是类变量/静态变量,否则就是实例变量/普通变量/非静态变量
类方法(又叫静态方法)
普通方法加上static之后就是类方法,静态方法可以访问类变量。
- 使用场景:工具封装,比如Math类(这样就不需要创建实例,就可以使用这个方法了)
- 类方法的注意事项:
- 类方法中不允许使用跟实例对象相关的关键字,如this、super;
- 类方法中不能访问非静态成员,只能访问静态成员;
- 普通方法可以访问静态成员和非静态成员;
- 类方法和普通方法都是随着类的加载而加载,存储在方法区。
接口
枚举
常用类
String
日期时间
集合类
泛型
注解
异常处理
多线程
IO 流
反射
经典面试题:
- 为什么重写 equals 还要重写 hashcode?
- == 和 equals 比较的区别
- 为啥有时会出现 4.0 - 3.6 = 0.40000001 这种现象?
- final 关键字的作用
- 介绍 Java 的集合类
- ArrayList 和 LinkedList 的区别