java实训第八天0131

本文介绍了Java中的反射概念,包括类加载器的BootstrapClassLoader、ExtensionClassLoader和AppClassLoader的作用,以及类按需加载和双亲委派模型的工作原理。还详细讲解了GetClass和相关构造函数、方法获取方法的使用。

1.反射

通俗易讲来说,就是“类”类,一个房子已经建好,去找图纸。反射可以去找类中的私有方法。

java默认有三种类加载器:BootstrapClassLoader,ExtensionClassLoader,AppClassLoader。

 BootstrapClassLoader(引导启动类加载器):嵌在JVM内核中的加载器,该加载器是用C++语言写的,主要负责加载JAVA_HOME/lib下的类库,引导启动类加载器无法被应用程序直接使用。
ExtensionClassLoader(扩展类加载器):ExtensionClassLoader是用JAVA编写,且它的父类加载器是 Bootstrap。是由sun.misc.Launcher$ExtClassLoader实现的,主要加载JAVA_HOME/lib/ext目录中的类库。它的父加载器是BootstrapClassLoader。
AppClassLoader (应用类加载器):AppClassLoader是应用程序类加载器,负责加载应用程序 classpath目录下的所有jar和class文件。它的父加载器为ExtensionClassLoader。

类通常是按需加载,第一次使用该类时才加载。

双亲委派模型:当收到了一个类加载,自己先不去加载,交给自己的分类去完成,避免有些类被重复加载。

*********代码实现

$一个class对象 在内存中不会存在两个类对象

$在编译阶段,这个类可以不存在,但在编译阶段一定要把类创建出来

 GetClass

1.如果在编写代码时,指导类的名称,且类已经存在,可以通过
                  包名.类名.class得到一个类的类对象
2.如果拥有类的对象,可以通过
                Class 对象.getClass()得到一个类的类对象
3.如果在编写代码时,知道类的名称,可以通过
             Class.forName(包名+类名):得到一个类的类对象

**********GetConstructor

*************GetMothod

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值