1:正则表达式(理解会使用就行)
(1)就是一种规则。用于判断,替换,获取数据的。
(2)正则表达式要掌握的字符意义
A:字符
x 字符x
\\ 反斜线字符
\t 制表符 ('\u0009')
\n 新行(换行)符 ('\u000A')
\r 回车符 ('\u000D')
B:字符类
[abc] a、b 或 c。中的一个字符。
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[0-9] 从0-9的字符
C:预定义字符类
. 任何字符
\d 数字:[0-9]
\w 单词字符:[a-zA-Z_0-9]
D:边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
E:Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
F:组((A)(B(C))) 中,存在四个这样的组:
(1):(A)(B(C))
(2):A
(3):B(C)
(4):C
组分出的数据规则:从左边的小括号开始计算,每对小括号代表一个组。
组的内容就是这对小括号的内容。
(3)正则表达式的功能
A:判断功能
用的是字符串类的matches方法。
B:切割功能
用的是字符串类的split方法。
C:替换功能
用的是字符串类的replaceAll方法。
D:获取功能
获取功能需要结合Pattern类和Matcher类。
步骤:
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
m.find:判断是否有符合规则的数据
m.group:获取查找到的符合规则的数据
2:反射(掌握反射的使用)
(1)通过运行时的类的对象获取类的字节码文件对象,然后通过字节码文件对象
解剖这个类的成员(成员变量,成员方法,构造方法)。
(2)按照面向对象的观点,java把反射后的到的成员都分别用类进行了封装。
构造方法 -- Constructor
成员变量 -- Field
成员方法 -- Method
(3)获取字节码文件的三种方式
A:通过对象的getClass方法
Person p = new Person();
Class c = p.getClass();
B:通过数据类型的class属性
Class c = Person.class;
C:通过Class类的forName方法加载指定路径的类对象。
Class c = Class.forName("cn.itcast.Person");
(4)使用反射
A:获取构造
获取所有的构造
公共的和非公共的。
获取单个的构造
公共的和非公共的。
B:获取成员变量
获取所有的成员变量
公共的和非公共的。
获取单个的成员变量
公共的和非公共的。
案例:更改成员变量的值
C:获取成员方法
获取所有的成员方法
公共的和非公共的。
获取单个的成员方法
公共的和非公共的。
(5)案例
A:通过配置文件运行类的中方法
B:反射可以避免编译期间的检查
(1)就是一种规则。用于判断,替换,获取数据的。
(2)正则表达式要掌握的字符意义
A:字符
x 字符x
\\ 反斜线字符
\t 制表符 ('\u0009')
\n 新行(换行)符 ('\u000A')
\r 回车符 ('\u000D')
B:字符类
[abc] a、b 或 c。中的一个字符。
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[0-9] 从0-9的字符
C:预定义字符类
. 任何字符
\d 数字:[0-9]
\w 单词字符:[a-zA-Z_0-9]
D:边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
E:Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
F:组((A)(B(C))) 中,存在四个这样的组:
(1):(A)(B(C))
(2):A
(3):B(C)
(4):C
组分出的数据规则:从左边的小括号开始计算,每对小括号代表一个组。
组的内容就是这对小括号的内容。
(3)正则表达式的功能
A:判断功能
用的是字符串类的matches方法。
B:切割功能
用的是字符串类的split方法。
C:替换功能
用的是字符串类的replaceAll方法。
D:获取功能
获取功能需要结合Pattern类和Matcher类。
步骤:
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
m.find:判断是否有符合规则的数据
m.group:获取查找到的符合规则的数据
2:反射(掌握反射的使用)
(1)通过运行时的类的对象获取类的字节码文件对象,然后通过字节码文件对象
解剖这个类的成员(成员变量,成员方法,构造方法)。
(2)按照面向对象的观点,java把反射后的到的成员都分别用类进行了封装。
构造方法 -- Constructor
成员变量 -- Field
成员方法 -- Method
(3)获取字节码文件的三种方式
A:通过对象的getClass方法
Person p = new Person();
Class c = p.getClass();
B:通过数据类型的class属性
Class c = Person.class;
C:通过Class类的forName方法加载指定路径的类对象。
Class c = Class.forName("cn.itcast.Person");
(4)使用反射
A:获取构造
获取所有的构造
公共的和非公共的。
获取单个的构造
公共的和非公共的。
B:获取成员变量
获取所有的成员变量
公共的和非公共的。
获取单个的成员变量
公共的和非公共的。
案例:更改成员变量的值
C:获取成员方法
获取所有的成员方法
公共的和非公共的。
获取单个的成员方法
公共的和非公共的。
(5)案例
A:通过配置文件运行类的中方法
B:反射可以避免编译期间的检查