JAVA学习日志8——反射获取内部类的实例

SpringBoot学习日志5(小错误) 永远不要相信前端用户提交的数据,为了安全起见,在后端仍然要进行判断(例如,判断登录的用户名,密码等),因为前端的代码在浏览器是可见的,如果后端也不进行判断,容易被非法入侵。if(i <= (currentPage - showPageSize)){//当前页码加上向前显示5个(showPageSize:5)if(i >= (showPageSize + currentPage)){//当前页码加上向后显示5个(showPageSize:5)//执行完上述代码点到后面页,前面页顺序变成倒序,需要重新排序。 阅读详情
package test;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.espertech.esper.common.client.annotation.Name;


abstract class Rule{
	public String ruleName="";
	public abstract boolean check();
}


public class RuleContainer {
	
	Double param1;
    Double param2;
   
	public class Rule1 extends Rule {

		public Rule1() {
        	//ruleName="Rule1";
        }

    	public boolean check() {
    		return  param1<0.1*param2;		
    	}
    }

    	@SuppressWarnings("rawtypes")
	public static void main(String[] args) throws InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {
   
	    Class clazz = test.RuleContainer.class;
		RuleContainer ruleContainer = (RuleContainer) clazz.newInstance();
		//Constructor[] rule1Cons = test.RuleContainer.Rule1.class.getConstructors();
		Constructor[] rule1Cons =  Class.forName("test.RuleContainer$Rule1").getConstructors();
		Constructor rule1Con = rule1Cons[0];

        // 关键是这一行代码 内部类的构造函数默认需要外部类的引用作为参数
		Rule rule1 = (Rule) rule1Con.newInstance(ruleContainer);
        
		HashMap<String, Rule> ruleMap = new HashMap<String, Rule>();
		ruleMap.put("rule1", rule1);
		
		boolean safe = ruleContainer.allRuleInMapCheck(ruleMap);
		System.out.println(safe);


}


}

参考:https://blog.youkuaiyun.com/ldstartnow/article/details/52782420

反射私有内部类的例子 反射私有内部类的例子 反射私有内部类的例子反射私有内部类的例子 立即下载

相关推荐

基于轻量级神经网络MobileNet V2的水果识别种类算法研究

本文阐述了一种基于轻量级卷积神经网络MobileNet V2的水果分类与识别算法研究。为了最大限度地促进机械收获,需要一个检测系统,它可以让我们识别不同类别的水果。一个相对未开发的想法是使用深度学习和人工智能算法,不仅可以检测水果的种类,还可以检测水果是否成熟。这可以证明是有利可图的,因为它可以提供作物生长状况以及成熟和未成熟果实的个体数量,以及决定是否是收获时间的有用信息。第一步对数据进行了预处理,数据预处理技术在众多的深度学习计算中起到了重要作用。

qq_43556680的博客 1641

Java反射获取内部类的实例

Java反射获取内部类的实例在java中,反射机制能在运行状态中获取任意一个类的所有属性和方法,并可以对该类的某个对象获取其属性的值或执行某个方法。虽然使用反射会降低程序的性能,增加项目复杂度,但是适当的时候使用反射可以使代码更加灵活,如动态代理。 这里重点记录下如何通过反射构造出内部类的实例。内部类分为成员内部类,局部内部类,静态内部类,匿名内部类,这里不考虑局部内部类情况了。 考虑如下类,需

ld的专栏 3万+

软件工程:数据字典

数据字典

永远怀着至诚之心拥抱世界 4279

反射获得内部类

1.反射调用类方法用invoke即可,但是内部类的话还是需要琢磨一番2.调用invoke方法需要获得参数,即类实例,通过构造函数来获得先写个大小类:/** * Created by garfield on 2016/11/18.S */ public class OuterClass { public void print(){ System.out.println("...

五彩世界的博客 2083

Llama模型结构拆解:为什么MLP模块要这样设计?从参数配置到计算流程全解析

本文深入解析了Llama模型MLP模块的设计精髓。通过拆解其三线性层结构、门控机制与SwiGLU激活函数,揭示了并行计算如何提升效率,并详细阐述了intermediate_size参数配置背后的经验权衡与计算考量,帮助读者透彻理解这一核心组件的设计逻辑与工程实现。

mac99的博客 529

Grok-1.5+Ollama企业级本地化部署与合规实践指南

本文详细介绍了Grok-1.5+Ollama企业级本地化部署与合规实践指南,重点分析了本地化部署的成本优势和数据主权保障。通过RTX 4090显卡的硬件选型、Ubuntu 22.04系统优化及部署流程中的关键陷阱规避,为企业提供了高效、安全的AI模型部署方案。特别适合金融、医疗等敏感行业。

weixin_29094539的博客 183

Java反射(1)-通过反射获取使用Class对象、方法、属性

Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。 反射非常强大,JDBC以及主流的框架如Spring、Mybatis等等都使用到了反射机制,可以说只要使用Java,反射无处不在。本文详细介绍如何使用反射获取到Class对象,类的方法和属性。 1.Class对象 Class对象包括一个类的方法、变量、接口、类名、类修饰符等等信息,获取Class对象有三种方法。 .

weixin_44259244的博客 6914

从 CDS 接口到 ABAP 运行时,深入理解 SAP RAP Custom Entity

CDS Custom Entity 是一种非 SQL、瞬态的 CDS 实体,不依赖 HANA SQL 读取数据,而是通过 ABAP 类实现查询逻辑(如 RFC、OData、BAPI 等)。它在 CDS 层定义数据契约(字段、键、关联、注解),由 @ObjectModel.query.implementedBy 指向实现 IF_RAP_QUERY_PROVIDER~SELECT 的类,真正执行数据获取。适用于无法用 SQL 表达的数据源,如远程系统或 API。其核心是“接口 + 实现”模式,运行时由 RAP

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 172

学习日志08 java

在 Java 里,构造方法是一种特殊的方法,其主要作用是在创建对象时对对象的属性进行初始化。构造方法的名字必须和类名一样,而且没有返回类型(连void也不用写)。3 怎么实现输入多行多组数据我想要输入:3-5但实际的代码运行里面输入了3 换行以后代码就跑了/*/*7-2 正方形类定义一个正方形类square,在次类中包括写内容:定义成员变量边长private int edge;

im_AMBER的博客 1036

python抓取美团外卖的数据(商家、评分、评论)

本文详细介绍了如何使用Selenium和抓取美团外卖的商家、评分和评论数据。我们从基础的爬虫原理入手,分析了美团外卖的网页结构,提出了应对反爬虫机制的策略,并给出了详细的代码实现。通过使用Selenium,我们能够绕过动态加载内容的限制,直接抓取网页中的商家信息和评论。结合多线程和代理池等技术,我们可以进一步提高爬虫效率,并避免IP被封禁。未来,随着爬虫技术的发展,我们可以进一步探索深度抓取、数据清洗和数据分析等高级应用,以实现更智能的网页数据抓取。

2201_76125261的博客 2704

EtherCAT主站SOEM -- 0 -- 该EtherCAT主站SOEM专栏后续安排

SOEM(Simple Open EtherCAT Master)是一个开源的EtherCAT主站库,允许开发者构建自定义的EtherCAT主站应用程序。EtherCAT是一种实时以太网通信协议,广泛应用于工业自动化和机器控制领域。开源性质:SOEM是一个开源项目,这意味着开发者可以自由地查看、修改和分发代码。这使其成为工业自动化领域的一个强大工具,可以根据具体需求进行定制。EtherCAT主站实现:SOEM库提供了一个完整的EtherCAT主站实现,允许主站与多个EtherCAT从站设备进行通信。

常驻客栈的博客--嵌入式EtherCAT 6673

黑马程序员 学习日志10 反射

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

q369246727的专栏 389

6.14华为OD机试真题 新系统 - 字符串格式调整 (Java/Py/C/C++/Js/Go)

# **字符串格式调整** > 2026 华为OD机试真题 6月14日华为OD上机新系统考试真题 100 分题型 点击查看华为 OD 机试真题完整目录:[2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解](https://blog.youkuaiyun.com/banxia_frontend/article/details/160346662) # 题目描述 输入一个字符串,字符串中只包含大写字母和数字。要求将字符串中的所有数字提取出来,按出现的顺序组

算法大师! 951

打开Java之门——Java SE小白的学习日志1

介绍了Java的跨平台特性、面向对象编程优势以及广泛应用场景。

GeekBoy's Blog 1854

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

java基础学习日志07

今天小冷,但阳光依旧 今天学的是类的生命周期和main的调用 public class ClassAndMathodDemo { // 成员变量,也叫全局变量,包括静态成员变量以及非静态成员变量 int age; String name; // 静态变量 static String schoolName; // 代码段就是用{}包围的代码,从作用域划分分为两种,一种是全局代码段,一种是局

Interest_Soul的博客 200

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java基础学习日志20

反射、、练习 myproperties.propertise file文件mykey=myValue name=java address=\u5317\u4EAC 仿制昨上个 public class Student extends person implements InterfaceDemo { public String name = null; private

Interest_Soul的博客 385

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

JAVA小白学习日记Day11

getDeclaredField("code") 可以获取 Easy 类中名为 code 的任意访问控制修饰符的属性(包括私有属性),但是在访问私有属性前需要调用 setAccessible(true) 设置访问权限。getField("name") 可以获取 Easy 类中名为 name 的公共属性,并且可以通过 fName.get(easy) 获取 easy 对象的 name 属性的值。内省是一种通过反射来获取类的属性、方法等信息,但不会破坏类的封装性,主要用于获取和设置属性的读写方法。

m0_63367052的博客 1086

java基础学习日志19

反射 public class Student extends Person { public String name; private int age; private String sex; protected String address; public String school; public Student(String name, int age, Strin

Interest_Soul的博客 250

java学习日记day07---反射之暴力反射

Student类有一个private构造方法 private Student(String name) { this.name = name; } 通过该构造方法暴力反射创建对象 Class<?> c = Class.forName("com.wh.demo11.Student"); Constructor<?> constructor = c.getDeclaredConstructor(String.class); //

wdw66666的博客 167

学习日志20170822

今天学习的是mysql数据库以及一些简单的数据库操作(建立数据库,建立数据表,建立字段,添加内容,增加语句,删除语句,修改语句,查询语句,以及如何使用JAVA语言连接数据库以及对数据库进行操作(JDBC))。还有一点简单的mvc模式以及分包思想 建立数据库以及表字段就不多说了,那么提一下的就是字段的主键问题。主键:是能确定一条记录的唯一标识,也就是不能重复的一个字段,必须...

Corey2014的博客 126

学习日志10.17

学习记录

Lemon__gril的博客 906

黑马程序员-学习日志10

反射(Reflection) 反射是java中一种强大的机制. Java反射机制主要提供了以下功能: 1.行时判断任意一个对象所属的类; 2.行时构造任意一个类的对象; 3.运行时判断任意一个类所具有的成员变量和方法; 4.在运行时调用任意一个对象的方法;生成动态代理。 反射简单的解释就是,把类中的成分,映射到相应的类,达到用这些类操作框架. 要理解反射首先要理解Class类: 从

qq_31131735的博客 311

黑马程序员——学习日志12高新技术(上)

------- android培训、java培训、期待与您交流! ----------

pslichao的专栏 546

黑马程序员_java学习日记num15

------java培训,android培训,期待与你交流--------------- 一、反射概述 1,java程序中的各个java类属于同一类事物,描述这类事物的java类名就是class 所谓的反射就是将java类中的各个类型的成员等映射为对应的类 2,如果得到各个字节码自己对应的实例对象(class类型) 类名.class  例如:Person.class

Rebecca345037307的博客 548

Spring的AOP 面向切面编程------Spring学习日志3

官方话就不说了,直接上自己见解和demo,总之就是OOP的一个补充,也就是面向对象编程一个扩展,自己感觉最重要的是大大减少了代码的耦合,提高了程序的重用 比如说我们要用传统的jsp模式来写,那么肯定要用反射抽公用的BaseService或者BaseServlet. 一个两个可能看不出来,假如我们要做商城那种大项,用这种模式,第一是写的怀疑人生,第二就是二者直接基本上是百分之百的耦合. 这对于开发是...

my 169
上一篇: pip安装python依赖
下一篇: NPM 常用操作
junior_programmer
博客等级 码龄11年 16粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值