首页 > 编程语言 >Java反射

Java反射

时间:2022-11-16 10:34:37浏览次数:46  
标签:反射 forName Java loadClass ClassLoader 方法 Class 加载

反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的功能称为Java语言的反射机制。

获取Class对象方法:Class.getClass(),Class.forName,ClassLoader.loadClass。

Class.forName和ClassLoader.loadClass的区别

初始化不同:

1.Class.forName()会对类初始化,而loadClass()只会装载或链接。

2.Class.forName()在类加载的时候会执行静态代码块(初始化了),loadClass只有在调用newIntance方法的时候才会执行静态代码块。

类加载器不同:

1.Class.forName(String)方法(只有一个参数),使用调用者的类加载器来加载,也就是用加载了forName方法的代码的那个类加载器。

2.ClassLoader.loadClass()方法是一个实例方法(非静态方法),调用时需要自己指定类加载器。

标签:反射,forName,Java,loadClass,ClassLoader,方法,Class,加载
From: https://blog.51cto.com/u_11315052/5855039

相关文章

  • java对接新中新电子:QKQ-A16Q (一)
    1.新中新电子:QKQ-A16Q    参考资料:新中新电子官网:http://www.synjones.com/service.html#part_oneUSB:\验证_USB_V1.2 ......
  • 面试官:Java 类加载过程是怎么样的?又被问麻了。。
    来源:blog.csdn.net/hsz2568952354/article/details/96763284最近在看Java虚拟机,正好看到类加载这块,所以简单记录下所学到的知识,作为笔记。首先,我们编写好的Java代码,经过......
  • JavaScript 字面量
    数组(Array)字面量 定义一个数组:[40,100,1,5,25,10]对象(Object)字面量 定义一个对象:{firstName:"John",lastName:"Doe",age:50,eyeColor:"blue"}函数(Functi......
  • java常用工具方法
    double类型后补0privateStringroundByScale(doublev,intscale){if(scale<0){thrownewIllegalArgumentException("Thescal......
  • javascript-代码随想录训练营day1
    704.二分查找力扣题目链接:https://leetcode.cn/problems/binary-search/题目描述:给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums......
  • 入门开篇 : Java课程介绍
    入门开篇:Java课程介绍1.Java发展2.基础学习路线3.课程特点......
  • JavaScript 深拷贝和浅拷贝
    一、前言hello,大家好~,本文主要介绍在JavaScript中什么是深拷贝和浅拷贝,以及如何实现一个对象的深拷贝。二、随处可见的“赋值”在JavaScript中我们最常见的操......
  • Java反应式编程(3)
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 在前面的文章中已经把vert.x框架给跑起来了,但是实际开发中服务端是需要响应客户端的请求的,所以肯定需要增加接口,但是该......
  • java基础之数组
    一、数组的定义与基本语法1、定义a.数组的四个基本特点:1、其长度是确定的,数组一旦被创建,它的大小就是不可以改变的;2、其元素必须是相同类型,不允许出现混合类型。3、数......
  • javac java file path
    1.packagemustcorrespondtofilepathpackageiscom.challengerpathmustbecom/challenger/ 2.javacuse-dtooutputclassesintofilepathautomaticlyja......