java 7 反射_【7】java 反射详解

【7】java 反射详解

获取Class对象的方式:

1. Class.forName("全类名");

将字节码加载进内存,返回Class对象,多用于配置文件,将类名定义在配置文件中,读取文件,加载类

2. 类名.class ;

通过类名的属性class获取,多用于参数的传递

3. 对象.getClass();

getClass()方法在object类中定义者,多用于对象的获取字节码方式

package Study;

class User {

public String toString() {

return "User: 成功";

}

public void func() {

System.out.println("User: func");

}

}

public class reflect {

public static void main(String[] args) throws IllegalAccessException, InstantiationException, ClassNotFoundException {

System.out.println("方法一:");

ClassUser method1 = User.class;

User user1 = method1.newInstance();

user1.func();

System.out.println("method1: "+method1.toString());

System.out.println("方法二:");

Class method2 = Class.forName("Study.User");

User user2 = (User) method2.newInstance();

user2.func();

System.out.println("method2: "+method2.toString());

System.out.println("方法三:");

Class method3 = new User().getClass();

User user3 = (User) method3.newInstance();

user3.func();

System.out.println("method3: "+method3.toString());

}

}

【7】java 反射详解 相关文章

JDBC连接程序

JDBCTestDelete.java package com.neutech.jdbc.test;import java.sql.*;/** * @author:JesseMrz * @version:1.0 * @date:2021/2/3 15:15 */public class JDBCTestDelete { public static void main(String[] args) { // 连接JDBC步骤 try { // 1.加载驱动

2021 年写 JavaScript 代码的 17 个优化技巧

我们经常会写一些 JavaScript 代码,但是如何写出干净又易维护的代码呢本文将讲解 17 个 JavaScript 代码的技术帮助你提高编程水平,此外,本文可以帮助您为 2021 年的 JavaScript 面试做好准备。 (注意,我会把差的代码放在上面用 //longhand 注释的,好的

javascript JS CryptoJS DES加解密CBC模式与C#DES加解密相同互通

我们只知道不同的语言解密要相互通用,就需要遵循相同的加密方式,然而在具体做技术预研的时候,就发现会遇到很多问题,网上找的资料也是比较片面,所以我踩了坑,并且把解决方案和相关资料源码提供出来,给需要的朋友一些参考。 场景:网页客户端(html)页

javascript ios 拍照照片翻转解决方案

$('.scpicinput').change(function() {$('.jiazaicontainer').css('display', 'block');var file = this.files[0];if (file) {var rFilter = /^(image\/jpeg|image\/png)$/i; // 检查图片格式if (!rFilter.test(file.type)) {alert("请选择jpeg、png格式的图

【算法】java语言求不定长字符串的最长子串和长度

public class interview6 { /** * 用java写一个最长子串,有一个字符串,不定长,比如abcdbafedcabcmonabcd, * 写一个方法要找出给定字符串的最长子串,最长子串是连续的不重复的字符串,返回长度(7) */ @Test public void test(){ String str="abcdbafed

pytest.mark.parametrize 详解

pytest允许在多个级别启用测试参数化: pytest.fixture()允许fixture有参数化功能(后面讲解) @pytest.mark.parametrize允许在测试函数或类中定义多组参数和fixtures pytest_generate_tests允许定义自定义参数化方案或扩展(拓展) 源码分析 defparametrize

java的elasticsearch做高亮显示

public SearchResult search(String keyWord, Integer page) { PageRequest pageRequest = PageRequest.of(page - 1, ROWS); //设置分页参数 SearchQuery searchQuery = new NativeSearchQueryBuilder() .withQuery(QueryBuilders.multiMatchQuery(keyWord,

反射,Class

反射机制 what : 运行程序在执行期间借助于Reflection API 取得任何类的内部信息, 并能直接操作任意对象的内部属性and方法. tips : java并不是动态语言,但是利用反射机制,让其具有 动态性. function : 在运行时 判断 任意一个对象所属的类 在运行时 构造 任

Java的常见类学习

Java的常见类 一、Scanner 1、使用next()方法: import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 从键盘接收数据 // next方式接收字符串 System.out.println("n

1.Java核心内容

1.集合 2.泛型 3.反射 4.注解 一.数据结构 1.数组 Char[] cs = new Char[]{'G','U','P','A','O'};Char[] cs1 = new Char[5];cs1[0] = 'G';.... 使用数组的时候,注意下标越界 特点: 1.内存地址连续,使用之前必须指定数组的长度 2.可以通过下标访问的方式访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值