首页 > 其他分享 >反射与正则表达式学习总结

反射与正则表达式学习总结

时间:2023-06-23 17:12:17浏览次数:29  
标签:总结 反射 构造方法 aClass 正则表达式 字符 println Super Class

1.反射的定义

(1)动态获取对象信息
(2)调用对象的信息(成员变量,成员方法,构造方法)

2.反射的核心编程思想以及各自的常用方法

步骤1:获取class类型的对象【字节码对象】
(1)Class aclass = Class.forName("");
(2)Class employeeClass=Employee.class;
(3)Employee employee = new Employee();
Class aClass=employee.getClass(); 步骤2:通过字节码对象获取 成员变量、方法和构造方法
(1)获取、遍历构造方法:
Class aClass=Class.forName("");
Constructor[] constructors=aClass.getConstructors();
for(Constructor con:constructors){
System.out.println(con);
}
(2)获取成员变量:
Class aClass=Class.forName("");
Field[] df=aClass.getDeclaredFields();
for(int i=0;i<df.length;i++){
System.out.println(df[i]);
}
(3)获取成员方法:
Method[] dm=aClass.getDeclaredMethods();
for(int i=0;i<dm.length;i++){
System.out.println(dm[i]);
}

3.

通过Class类的newInstance()方法创建对象,该方法要求该Class对应类有无参构造方法。
执行newInstance()方法实际上就是使用对应类的无参构造方法来创建该类的实例,其代码
的作用等价于new关键字创建实例。 Class c = Class.forName("Super"); //通过Class类的newInstance()方法创建对象 Super sup=(Super)c.newInstance(); System.out.println(sup.supPublic()); 如果Super类没有构造方法,运行程序会抛出一个InstantiationException实例化异常。

4.正则定义

(1)一种文本模式
(2)包含字母数字和特殊字符

5.描述下正则表达式:"0\?\\d{0,3}-?[1-9]\\d{7,9}"的含义

了解  []  和  {}  的用法
核心要点:[a-z]{3}代表3个a到z的字母;{3,}3个或3个以上的小写字母;
{3,7}代表出现3次或7次以内的小写字母
核心要点:[a-z]{3}等价于[a-z][a-z][a-z]

X?代表一次或一次也没有

6.正则预定义字符类

.     任何字符(应用于校验要求)
\d   数字[0-9]
\D  非数字[^0-9]
\s   空白字符
\S   非空白字符
\w   单词字符
\W  非单词字符

7.非集群状态下,多线程出现并发问题,利用

同步锁机制synchronized(字节码对象){};  解决

 

标签:总结,反射,构造方法,aClass,正则表达式,字符,println,Super,Class
From: https://www.cnblogs.com/meed12581/p/17499256.html

相关文章

  • 网络流题型总结
    最近写了一段时间的网络流,现在应该总结一下了。网络流就是将原问题抽象成包含顶点和边有容量限制的网络。本文中有些题目的题解复制自网络,仅作个人学习总结之用。1.最大流最大流可以看作使用flow来做出一系列的限制,从而满足原题条件。1.1拆点有时候某一个点还有额外的限......
  • PTA6-8次题目集(成绩计算系列)总结
    1.前言6-8次作业题量不大,难度较菜单计价较小,但实现过程依旧繁琐知识点输入和输出处理:你需要从用户或文件中读取输入数据(课程信息和学生成绩),然后相应地进行处理。你可以使用诸如读取控制台输入(Scanner 类)或从文件读取技术。字符串操作和解析:你需要将输入的字符串分割后提......
  • Python.re正则表达式的标记
    标记方式在Python的re模块中,有以下几种标记(flags)可用于修改正则表达式的匹配行为:re.I(或re.IGNORECASE):忽略大小写匹配。例如,正则表达式[a-z]+将匹配小写字母字符串,而使用re.I标记后,它将匹配大小写混合或大写字母字符串。re.M(或re.MULTILINE):多行模式匹配。默认情况下,正......
  • 八年腾讯T4老开发对Android Framework的解密总结
    前言在Android开发者技能中,如果想进大厂,一般拥有较好的学历可能有优势一些。但是如果你靠硬实力也是有机会的,例如死磕Framework。Framework知识广泛应用在Android各个领域中,重要性显而易见。成为一名AndroidFramework高手,也是目前招聘过程中非常稀缺的人才,可以成为你的敲门砖。......
  • 学习总结
    这次实训实践操作了对于一款天气系统手机软件的最基本逻辑框架的搭建,学习了OPENHARMONY这个插件的相关使用和学习途径的获取。具体实训内容为:使用了API9的开发版本,实现主要功能构成,主要是理解学习掌握天气软件的具体开发代码和思路,偏向前端开发。学习过程中经常遇到很多配......
  • MySQL 日期与字符串互相转换总结
    第一种情况:日期转字符串1、函数:date_format(date,format)selectdate_format(now(),'%Y-%m-%d%H:%i:%S');第二种情况:日期转时间戳1、函数:unix_timestamp(data)selectunix_timestamp(now());第三种情况:字符串转日期1、函数:str_to_date(str,format);注:format格式必须......
  • Android内存优化分析总结,这一篇就够了
    一、内存优化概念1.1为什么要做内存优化?内存优化一直是一个很重要但却缺乏关注的点,内存作为程序运行最重要的资源之一,需要运行过程中做到合理的资源分配与回收,不合理的内存占用轻则使得用户应用程序运行卡顿、ANR、黑屏,重则导致用户应用程序发生OOM(outofmemory)崩溃。在你认真跟......
  • Android13(T) 的Target适配问题总结
    最近在做Android13(T)的Target适配,整理了适配过程中遇到的问题分以下三部分:影响所有应用的变更(包含target33),只影响TargetSdkVersion=33的变更,其他更改(新增或者改善的功能).1.影响所有应用的变更1.1必须要适配此项1.1.1通知的运行时权限Android13中引入了一种新的......
  • Android app的启动优化总结
    工欲善其事必先利其器,最近在启动优化上踩了不少坑,写篇文章记录下,也给大伙避避坑,节省些时间。启动优化是什么,完全可以顾名思义,本文就不赘述了。至于为什么要做性能优化–QAQ,大家dddd问题场景主要分为如下两种场景,笔者主要在第一种场景下进行实操哈1、项目中已有性能启动相关埋点以及......
  • 2021年终总结:我只给自己打60分,终于从外包跳到自研了
    2021年我只给自己打60分,虽然完成了跳槽但是花了很大的代价。全年也依旧没有自律…记得2021年过年时是一直带着年终奖比其他人少的多的愤恨而不开心。凭什么都是做CRUD,我想的是反正没有加班费我也不想调休就没怎么报加班。而他们每次都混很多加班报上去,最后年终奖差这么多(事情做的......