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

整体效果:

修改:

效果展示:


目录
相关文章
反射
何为反射?在运行状态时,对于任何一个类,都能够动态获取这个类得所有方法和属性(私有,公有,受保护),都能够调用任意一个方法和属性。
41 0
|
3月前
|
存储 缓存
优美的使用反射,哪些场景推荐使用反射,哪些不推荐使用
优美的使用反射,哪些场景推荐使用反射,哪些不推荐使用
30 0
|
3月前
|
缓存 安全 Java
反射带来的问题
反射带来的问题
35 0
|
6月前
|
API C# 数据库
C#反射详解
C#反射详解
58 0
|
安全 数据可视化 IDE
反射(二)什么是反射
反射(二)什么是反射
62 0
|
缓存 前端开发 JavaScript
一起来学反射(上)
一起来学反射
99 0
|
Java
简单理解下反射是啥
《基础系列》
103 0
反射小练习
通过反射创建级联对象
反射之IllegalAccessException、NoSuchFieldException
本文目录 1. IllegalAccessException 2. NoSuchFieldException
421 0