JavaEE概览

发布时间 2023-08-09 11:35:48作者: Rover20230226

二、JavaSE 进阶

day01

# day01
1. 继承
	1). 概述
		继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。
		格式:public class 子类名 extends 父类名 {}
	2). 好处和弊端
		- 好处
			提高代码的复用性
			提高代码的维护性
	3). 变量的访问特点
	4). 构造方法的访问特点
	5). 成员方法的访问特点
	6). 注意事项
2. super关键字(+内存图)
3. 方法重写(+注意事项)
4. 关键字
	1). package
	2). import
	3). final(+修饰局部变量)
	4). static(+访问特点)
5. 权限修饰符
	1). public
	2). protected
	3). 默认
	4). private

day02

# day02
1. 多态
	1). 成员访问特点
	2). 好处和弊端
	3). 转型
	4). 多态转型的内存图解
2. 抽象类
	1). 特点
	2). 成员特点
3. 接口
	1). 特点
	2). 成员特点
4. 类和接口的关系
5. 抽象类和接口的区别

day03 内部类

# day03
1. 类名作为形参和返回值
2. 抽象类名作为形参和返回值
3. 接口名作为形参和返回值
4. 内部类
	1). 成员内部类
	2). 局部内部类
	3). 匿名内部类(+在开发中的使用)
5. Math
6. System
7. Object类中
	1). toString()方法
	2). equals()方法
8. 冒泡排序原理(+代码实现)
9. Arrays

day04 基本类型包装类

# day04
1. 基本类型包装类
	将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
2. Integer
	1). 概述:包装了一个对象中的原始类型int的值
	2). 使用
		Integer i1 = Integer.valueOf(100);
		Integer i2 = Integer.valueOf("100");
		// 过时
		Integer i3 = new Integer(100);
		Integer i4 = new Integer("100");
3. int和String的相互转换
	1). int -> String
		int number = 100;
		// 方式1
		String s1 = "" + number;
		// 方式2
		String s2 = String.valueOf(number);
    2). String -> int
    	String s = "100";
    	// 方式1
    	Integer i = Integer.valueOf(s);
    	// 方式2
    	int j = Integer.parseInt(s);
4. 案例(字符串中数据排序)
	思路(模板):
    1). 定义一个字符串
    2). 把字符串中的数组存储在int类型的数组中
    	String[] strArray = s.split("分隔符");
    	int[] arr = new int[strArray.length];
    	for (int i = 0; i < arr.length; i++) {
    		arr[i] = Integer.parseInt(strArray[i]);
    	}
    3). 对int数组进行排序
    	Arrays.sort(arr);
    4). 把排序后的int数组中的元素进行拼接得到一个字符串
    这里拼接采用StringBuilder来实现
    	StringBuilder sb = new StringBuilder();
    	for (int i = 0; i < arr.length; i++) {
    		sb.append(arr[i]);
    	} else {
    		sb.append(arr[i]).append("分隔符");
    	}
    	String result = sb.toString();
    5). 输出结果
    	System.out.println("result:" + result);
5. 自动装箱和拆箱
	1). 装箱:把基本数据类型转换为对应的包装类类型
		// 装箱
		Integer i1 = Integer.valueOf(100);
		// 自动装箱
		Integer i2 = 100;
	2). 拆箱:把包装类类型转换为对应的基本数据类型
		// 拆箱
		i3 = i2.intValue() + 200;
		// 自动拆箱
		i2 += 200;
	3). i + 200 自动拆箱 i = i + 200 自动装箱
	4). 注意:只要是对象,在使用前就必须进行不为null的判断
6. Date(+常用方法)
	1). 概念
		Date代表了特定的时间,精确到毫秒
	2). 构造方法
		- public Date()
			Date d1 = new Date();
		- public Date(long date)
			// 1小时
			long date = 1000 * 60 * 60;
			// d2比标准基准时间多1一小时,外加东八区的原因,终为9点
			Date d2 = new Date(date);
    3). 常用方法
    	- public long getTime()
    		// 获取1970年1月1日 00:00:00 到现在的毫秒值
    		Date d3 = new Date();
    	- public void setTime(long time)
    		// 设置时间,给的是毫秒值
    		d1.setTime(d2); // 结果同d2
    		long d4 = System.currentTimeMillis();
    		d1.setTime(d4); // 当前时间,年时分秒
7. SimpleDateFormat
	1). 用于以区域设置敏感的方式格式化和解析日期。
	2). 重点:日期格式化和解析
	3). 对应关系
		y   年
		M   月
		d   日
		H   时
		m   分
		s   秒
    4). 构造方法
    	- public SimpleDateFormat()
    		// 使用默认模式和日期格式
    		Date d = new Date();
    		SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
    		String s1 = sdf.format(d);
    	- public SimpleDateFormat(String pattern)
    		// 使用给定的模式和默认的日期格式
    		String s2 = "2023年04月09日 15:39:23";
    		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
    		Date d1 = sdf2.parse(ss);
    5). 格式化和解析日期
    	- 格式化(从Date到String)
    		public final String format(Date date):将日期格式化成日期/时间字符串
        - 解析(从String到Date)
        	public Date parse(String source):从给定字符串的开始解析文本以生成日期
8. 案例(日期工具类)
	
9. Calendar(+常用方法)
10. 异常
	1). 概述
		程序出现了不正常的情况
	2). 类别(父:Throwable)
		Erroe:严重问题,不需要处理
		Exception:成为异常类,它表示程序本身可以处理的问题
		RuntimeException:在编译期是不检查的,出现问题后,需要我们回来修改代码
		非RuntimeException
11. JVM的默认处理方案
12. 异常处理
	1).try...catch
	2).编译时异常和运行时异常的区别
	3).自定义异常
13. Throwable的成员方法

day05 集合

# day05
1. 集合体系结构
2. Collection集合
	1). 概述和使用
		// 概述
	2). 常用方法
	3). 遍历
	4). 集合使用步骤
	5).案例(Collection集合存储学生对象并遍历)
3. List集合
	1). List集合概述和特点
	2). List集合的特有方法
	3). 案例一(List集合存储学生对象并遍历)
	4). 案例二(List集合存储学生对象三种方式遍历)
4. 并发修改异常
5. 列表迭代器
6. 增强for循环
7. 数据结构
	1). 栈和队列
	2). 数组和链表
8. 案例(ArrayList集合存储学生对象三种方式遍历)
9. LinkedList集合的特有功能

day06

# day06
1. Set集合概述和特点
2. 哈希值
3. HashSet集合
	1). 概述和特点
	2). 保证元素唯一性源码分析
4. 数据结构
	哈希表
5. HashSet集合存储学生对象并遍历