JVAVEE反射

简介: JVAVEE反射

1.反射是什么:

反射是一种重要的技术,它允许程序在运行时动态地加载、查询和使用类、方法和属性,在运行时可以替换和调用类中的方法和属性。

2.反射的用处:

1.获取已装载类的成员变量信息;

2.获取已装载类的方法;

3.获取已装载类的构造方法信息。

3.类类:

根据Student.java获取类类的方式:

package com.xiaoxu;
public class Student {
  private String sid;
  private String sname;
  public Integer age;
  static{
    System.out.println("加载进jvm中!");
  }
  public Student() {
    super();
    System.out.println("调用无参构造方法创建了一个学生对象");
  }
  public Student(String sid) {
    super();
    this.sid = sid;
    System.out.println("调用带一个参数的构造方法创建了一个学生对象");
  }
  public Student(String sid, String sname) {
    super();
    this.sid = sid;
    this.sname = sname;
    System.out.println("调用带二个参数的构造方法创建了一个学生对象");
  }
  @SuppressWarnings("unused")
  private Student(Integer age) {
    System.out.println("调用Student类私有的构造方法创建一个学生对象");
    this.age = age;
  }
  public String getSid() {
    return sid;
  }
  public void setSid(String sid) {
    this.sid = sid;
  }
  public String getSname() {
    return sname;
  }
  public void setSname(String sname) {
    this.sname = sname;
  }
  public void hello() {
    System.out.println("你好!我是" + this.sname);
  }
  public void hello(String name) {
    System.out.println(name + "你好!我是" + this.sname);
  }
  @SuppressWarnings("unused")
  private Integer add(Integer a, Integer b) {
    return new Integer(a.intValue() + b.intValue());
  }
}

1.Class.forName()----这是通过内存地址的方式获取,应用在jdbc数据库链接中
2.类名.class  这个用于增删改
3.对象.getclass()  这个用于查询

案例及效果:

4.反射实例化:

1.getConstructor   调用公共的方法

2.getDeclaredConstructor  调用私有的方法

案列及效果:

5.反射动态方法的调用:

  1.getMethod  调用公共的方法

  2.getDeclaredMethod  调用私有的方法

案列及效果:

6.反射读写属性

1.getDeclaredField

2.getDeclaredFields

整体效果:

修改:

效果展示:


目录
相关文章
|
存储 边缘计算 人工智能
云计算与分布式系统架构:驱动数字化时代的创新引擎
本文将探讨云计算与分布式系统架构在数字化时代中的重要性,介绍其基本概念和原理,并探讨其在推动技术创新、提升企业效率和满足用户需求方面的作用。同时,还将提出未来发展的趋势和挑战,为读者提供对云计算与分布式系统架构的深入理解。
|
存储 iOS开发
SwiftUI极简教程17:Gestures手势的使用
SwiftUI极简教程17:Gestures手势的使用
1208 0
SwiftUI极简教程17:Gestures手势的使用
|
Java 应用服务中间件 持续交付
Docker+Jenkins+Gitee+Maven构建自动化部署
Docker+Jenkins+Gitee+Maven构建自动化部署
774 0
Docker+Jenkins+Gitee+Maven构建自动化部署
|
Java
Java 实现 捕鱼达人 小游戏【附源码】
Java 实现 捕鱼达人 小游戏【附源码】
505 0
|
11月前
|
机器学习/深度学习 监控 数据挖掘
基于Django和百度飞桨模型的情感识别Web系统
基于Django和百度飞桨模型的情感识别Web系统
190 5
|
Web App开发 监控 应用服务中间件
全新架构:日志服务 SLS 自研免登录方案发布
全新架构!日志服务 SLS 自研免登录方案发布
87770 112
|
前端开发 JavaScript
React的事件与原生事件的执行顺序?
React的事件与原生事件的执行顺序?
|
JavaScript Java 测试技术
基于SpringBoot+Vue的外卖平台系统的详细设计和实现
基于SpringBoot+Vue的外卖平台系统的详细设计和实现
281 4
|
开发工具 图形学 iOS开发
Unity与IOS⭐Unity接入IOS SDK的流程图
Unity与IOS⭐Unity接入IOS SDK的流程图
|
关系型数据库 MySQL 应用服务中间件
Sqlmap -- POST注入
Sqlmap -- POST注入
311 2