反射在类不同实现阶段的三种使用方式 附泛型的使用

news/2024/5/19 3:02:06 标签: 反射
//类路径
String str = "it.Day0307.Demo02.Person";

类还未调用时获取反射对象

Class<?> cls = Class.forName(str);
System.out.println(cls);

未创建对象时获取

Class cls2 = Person.class;
System.out.println(cls2);
System.out.println(cls == cls2);

创建对象后获取

    Person p = new Person();
    Class<?> cls3 = p.getClass();
    System.out.println(cls3 == cls2);

以上代码打印输出后,==的结果均是true,说明各方式创建的对象都是同一个对象

以下为泛型的使用

//调用pr() 方法

p.pr(str);
p.pr(1);
p.pr("234");




ublic class Person {
    private String name;
    private int age;
    .............................
    此处省略各方法

    public <E> void pr (E e){
        System.out.println(e);
    }
}

要点就是类型可以为任意字母
传入的参数也可以是任意类型
注意泛型只能作为传参使用,不能在创建对象时使用


http://www.niftyadmin.cn/n/1343066.html

相关文章

IT人的成功捷径?

钱&#xff0c;永远是不足的。中国人&#xff0c;得道的和想得道的&#xff0c;都喜欢念叨四个字&#xff1a;知足常乐。然而&#xff0c;说句实在话&#xff0c;大部分人的道行是禁不住诱惑的。只要一对上那已经通神的“钱”&#xff0c;他们便显露出内心深处的真性情&#xf…

Solve Error: MissingSchemaError: Schema hasn't been registered for model YourModel.

使用MongoDB的时候&#xff0c;如果遇到下面这个错误&#xff1a; /home/ec2-user/YourProject/node_modules/mongoose/lib/index.js:391throw new mongoose.Error.MissingSchemaError(name);^ MissingSchemaError: Schema hasnt been registered for model "YourModel&qu…

通过Arrays.asList()将数组转换为ArrayList,再进行排序

public class day0318 {public static void main(String[] args) {boolean flag true;int j;Integer[] num {23, 234, 356, 23, 14, 1, 5, 47, 213, 47, 36, 68546, 2};这个方法参见 https://www.programcreek.com/2013/04/how-to-convert-array-to-arraylist-in-java/ //转…

java 多线程 join()方法

void join() 等待该线程终止。 void join(long millis) 等待该线程终止的时间最长为 millis 毫秒。 void join(long millis, int nanos) 等待该线程终止的时间最长为 millis 毫秒 nanos 纳秒。 功能&#xff1a;让当前线程停止工作&#xff0c;直到插入的线程运…

注册表编辑器关闭Win10 windows defender (对于win10家庭版用户)

Win10家庭版的用户来说&#xff0c;没有本地组策略比机器&#xff0c;所以只能通过修改注册表的方法来关闭这个服务&#xff0c;具体步骤如下&#xff1a; 1&#xff09;使用WINR打开运行对话框&#xff0c;输入regedit打开注册表&#xff1b; 2&#xff09;依次打开HKEY_LOCA…

关于background-image调整大小和位置的方法笔记

遇到background-image的问题有点多&#xff0c;直接上网搜资料自己整理一下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>#divtest{width:400px;height:400px;bac…

BZOJ4953 Wf2017Posterize(动态规划)

设f[i][j]为前i种强度选了j种且其中第i种选时前i个的最小误差。转移枚举上个选啥前缀和优化即可。 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std…

相对路径与绝对路径的写法及区别

由于学习过程中,对于相对路径经常有困惑,这里专门写一篇文章总结一下,以加快日后找相对路径时的速度 1 相对路径: 基于当前文件, 其他文件的路径. 写法: ./虚拟目录/资源路径 1)如何快速确定一个资源的相对目录 这里自我约束几个条件约束1: 寻找任意资源都需要一个名称 即…