【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.可以通过下标访问的方式访问