一、今日内容
1.1 课程回顾
1.2 反射是啥
1.3 进程和线程
1.4 线程的创建方式
1.5 线程的状态
1.6 线程的常用方法
二、课程回顾
Java的基本语法:
1.数据类型:基本、引用
2.运算符:算术、逻辑、比较、赋值、位、三目
3.表达式
4.顺序结构
5.分支结构:选择结构:if switch
6.循环结构:for while do/while
Java:面向对象:
1.最终的目的:消除重复代码
2.核心:类和对象
3.特征:封装、继承、多态、抽象
4.关键字:static,public,private、class、interface this super 等
5.抽象类和接口
Java中数组:
数组:存储多个相同数据类型的数据结构
特点:长度固定
声明和初始化:数据类型 [] 变量名=初始化;动态初始化、静态初始化
索引:索引从0开始
算法:
1.排序算法
2.查找算法
多维数组:Java允许数组的元素又是一个数组
Java中的集合:
集合:存储多个指定数据类型的元素。
特点:长度可变,存储引用类型
种类:List、Set、Map
常用的集合类:ArrayList、HashMap、TreeSet等
泛型:引用类型的占位符 出现好处:代替了Object,避免了转型(向上转型、向下转型)
Java中的流:
File:Java中操作文件或目录的类。记忆:常用的方法:创建、删除、重命名、获取
流:数据通信的通道。
根据功能分:节点流、过滤流
根据单位分:字节流、字符流
根据方向分:输入流、输出流
Java的节点流:文件流(操作的数据都是跟文件有关):Filexxx. 内存流(操作的数据都是跟数组有关):Bytexxx
Java的过滤流:缓冲流、对象流、数据流、转换流等等
输入流:read(读取)、skip(跳过)
输出流:write(写出)、flush(刷新)
Java中的异常:
异常:Java主要分为:Error:人为不可解决、Exception:异常,运行的特点:运行时异常、编译时异常
编译异常:代码在编译阶段,显示的异常 IOException
运行异常:代码在运行阶段,显示的异常 RuntimeException、IndexOutofException
自定义异常:自定义类并继承Exception
三、Java中的反射
3.1 反射是什么
反射机制是Java程序,在运行中,动态获取类的信息(方法、属性、注解等)、并且还可以调用类的属性、和方法。这种动态获取类的信息、以及动态调用对象的方法和属性的行为就叫反射。
反射:就是可以获取类的信息、和执行方法。
3.2 反射可以做什么
1.运行时获取类中的属性
2.运行时获取类中的方法
3.运行时创建类的对象
4.运行时,执行类中的方法
5.运行时,校验属性是否属于某个类
6.实现动态代理
3.3 反射怎么用
通过反射实现,类中的属性、方法的获取。还可以运行类中的方法。
创建Class对象的几种方式:
1.类名.class
2.Class.forName
3.对象名.getClass
代码演示:获取类中的属性
public static void main(String[] args) {
//1.创建反射对象--Class<T>
Class<Student> clz=Student.class;
//2.获取Student类中的属性
//公共属性,包含继承属性
Field[] arrF=clz.getFields();
//所有属性,不包含继承的属性
Field[] arrF2=clz.getDeclaredFields();
//3.显示 获取到的属性
System.err.println("公共属性,包含继承属性:"+Arrays.toString(arrF));
System.err.println("所有属性,不包含继承的属性:"+Arrays.toString(arrF2));
}
代码演示:获取类中的方法
public static void main(String[] args) {
//1.获取反射对象
Class<Student> clz=Student.class;
//2.获取对象中的方法
//公共方法,包含继承方法
Method[] arrM=clz.getMethods();
//所有方法,不包含继承方法
Method[] arrM2=clz.getDeclaredMethods();
//3.显示对应的方法
System.err.println("公共方法:"+Arrays.toString(arrM));
System.err.println("所有方法:"+Arrays.toString(arrM2));
}
代码演示:通过反射执行类中的方法
public static void main(String[] args) throws NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
//1.获取反射对象
Class<