一、认识反射
1.为什么使用反射?
在运行状态下,对于任意一个类都能知道这个类所有的属性和方法;
并i企鹅对于任意一个对象,都能够调用它的方法;
当我们编译时无法预知对象 或类属于什么类型,需要依靠运行信息来发现真实信息,此时需要使用到反射
项目开发中常见的使用反射的场景:
使用JDBC连接数据库 Servlet在Web容器中的加载和运行
类加载的步骤
jvm将A.class文件读入内存方法区
jvm为A.class创建唯一的Class类的对象
二Class类
通过Class类可反向做很多事
1.生成类的实例
2.可获取类的属性,方法等信息
3.反射的核心类
反射:反射是指在程序运行期间,能够观察和修改类或者类的对象的属性和行为的特性
三、步骤
使用反射的步骤:
1.获取想要操作的class对象:
*** 方法1:通过Class.forname()获取(更常用,对于编译器不知道对象类型,在运行期对于未知类型进行操作)
方法2:通过对象实列的getClass()获取
方法3:通过类的Class属性获取
2.调用calss类中的方法
获取属性:Filed-getName
getFields()-所有可访问的公共字段
getDeclaredFileds()-所有字段
getFileld(String name)-返回一个特定的公共字段对象
获取方法:Method-getName
getMethods()-所有公共方法,包括从超类和超接口继承的声明
getDeclaredMethods()-所有方法,包括公共,保护,默认
(包) 访问和私有方法,但不包括继承的方法
getMethod(String name,Class[] parameterTypes)-返回一个对象
3.使用反射API 来操作这些信息
******* 获取构造方法
getConstructor(Class[]parameterTypes)-返回一个构造方法对象
Field类:表示类的成员变量,可用来获取和设置类的属性值
Method类:表示类的方法,可用来获取类中的方法信息或者执行方法
Constructor类:表示类的构造方法
四、Mysql安装
上传安装包
安装依赖包perl,net-tools,autoconf
yum install -y …
卸载冲突包
rpm -qa | grep mariadb(查询冲突的包)
rpm -e 冲突的包 --nodeps
安装mysql
先安装客户端client
再安装服务端server
rpm -ivh MySQL-client
rpm -ivh MySQL-server
修改配置文件:/usr/my.cnf
vi /usr/my.cnf
启动mysql
service mysql start
输入mysql,进入mysql的命令行
use mysql进入mysql库
修改root密码
update user set password=password(‘ok’)
输入mysql -uroot -pok
再次设置密码set password=password(‘ok’)
use mysql查看
常用的命令:
show databases; 显示所有的库
use mysql; 切换到mysql库
show tables; 显示所有的表
建表语句
create table tb_a(aId int,aName varchar(10));
插入语句
insert into tb_a values(1,“wang”);
查看表数据
select * from tb_a;
vi /root/.mysql_secret查看默认密码
yum install -y perl
rpm -ivh MySQL-client-5.6.46-1.el7.x86_64.rpm
yum install -y autoconf
yum install -y net-tools
rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
rpm -ivh MySQL-server-5.6.46-1.el7.x86_64.rpm