java中反射系列一

我们知道java是面向对象,所有的事物都是用面向对象的思想去思考这类事物有什么,比如人,有腿 眼睛,鼻子,这些就是累的属性,还可以跑,打球,这是对象的方法,但是有一种很特殊的类,就是各个java类,比如Person,Dog等,这些可以向上抽取成一个父类,那就是Class,Class类描述了类的的名字,类所属的包名,字段名称的列表,Class其实代表的是这个类在内存中的的字节码,

字节码:当程序运行时,会从硬盘上把类的二进制代码编译成Class放在硬盘中,然后加载到内存当中,然后才可以用这个Class去创建对象,每一个字节码就是一个Class对象

获取类的字节码有三种方式

1:对象.getClass()

2:类.class

3:Class.forName(类的全路径);这个方法是先判断该类的字节码是否在内存中,没有不在就用类加载器把类加载到内存中

如果内存中存在类名的字节码, 则直接返回字节码.
如果虚拟机没有相应类名的字节码,用类加载器去加载, 加载后, 将字节码缓存起来, 同时, forName方法返回刚才加载进来的字节码


一个类的字节码在内存中只有一份,下面通过代码验证:

Person.java

public class Person {
private String name;
public Person(String name) {
super();
this.name = name;
}
public Person() {
}
}


PersonTest.java

public class PersonTest {
public static void main(String[] args) {
Person p1 = new Person();
Person p2 = new Person();
Person p3 = new Person("SS");

Class cs1 = p1.getClass();
Class cs2 = p2.getClass();
Class cs3 = p3.getClass();

System.out.println(cs1==cs2);
System.out.println(cs1==cs3);
}
}

打印结果:

true
true

这就说明类的字节码在内存中只有一个,但是可以用这个字节码创建很多个对象,


现在看看Class类一些方法


getField(String name)    返回一个Field 对象,它反映此 Class 对象所表示的类或接口的指定公共成员字段

getFields() 返回一个包含某些Field 对象的数组,这些对象反映此 Class 对象所表示的类或接口的所有可访问公共字段。

getMethods() 返回一个包含某些Method 对象的数组,这些对象反映此 Class 对象所表示的类或接口(包括那些由该类或接口声明的以及从超类和超接口继承的那些的类或接口)的公共member 方法


getName()  以String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。

getPackage()获取此类的包

getSimpleName()返回源代码中给出的底层类的简称。

isArray()判定此 Class 对象是否表示一个数组类。
isPrimitive() 判定指定的 Class 对象是否表示一个基本类型。


【博士论文复现】【阻抗建模、验证扫频法】光伏并网逆变器扫频与稳定性分析(包含锁相环电流环)(Simulink仿真实现)内容概要:本文档是份关于“光伏并网逆变器扫频与稳定性分析”的Simulink仿真实现资源,重点复现博士论文中的阻抗建模与扫频法验证过程,涵盖锁相环和电流环等关键控制环节。通过构建详细的逆变器模型,采用小信号扰动方法进行频域扫描,获取系统输出阻抗特性,并结合奈奎斯特稳定判据分析并网系统的稳定性,帮助深入理解光伏发电系统在弱电网条件下的动态行为与失稳机理。; 适合人群:具备电力电子、自动控制理论基础,熟悉Simulink仿真环境,从事新能源发电、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握光伏并网逆变器的阻抗建模方法;②学习基于扫频法的系统稳定性分析流程;③复现高水平学术论文中的关键技术环节,支撑科研项目或学位论文工作;④为实际工程中并网逆变器的稳定性问题提供仿真分析手段。; 阅读建议:建议读者结合相关理论教材与原始论文,逐步运行并调试提供的Simulink模型,重点关注锁相环与电流控制器参数对系统阻抗特性的影响,通过改变电网强度等条件观察系统稳定性变化,深化对阻抗分析法的理解与应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值