Class 类对象的三种实例化模式|学习笔记

简介: 快速学习 Class 类对象的三种实例化模式

开发者学堂课程【 Java 高级编程Class  类对象的三种实例化模式】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/20/detail/376


Class 类对象的三种实例化模式


目录:


1、Object 类支持

2、JVM 类支持

3、Class 类支持


反射之中所有的核心操作都是通过 Class 类对象展开的,Class 类是反射操作的根源所在,但是这个类如果要想获取它的实例化对象,可以采用三种方式完成,首先来观察  java.lang.Class 类的定义:

public final class Class <T>extends Object.

implements Serializable, GenericDeclaration, Type, AnnotatedElement

 

从 JDK 1.5 开始 Class 类在定义时候可使用泛型进行标记,这样的用法主要是希望可以避免所谓的向下转型。

下面通过具体的操作讲解三种实例化形式。

1.[ Object 类支持]


Object 类可以根据实例化对象获取 Class 对象: public final Class <?> getClass()

缺点:如果现在只想获得 Class 类对象,则必须产生指定类对象后才可以获得

图片5.png


2.[ JVM 直接支持]


采用“类 .class '的形式实例化

特点:如果要采用此种模式,则必须导入程序所对应的开发包

6.png


3.[ Class  类支持]


在 Class 类里面提供有一个 static 方法:

public static Class <?> forName ( String className )

throws ClassNotFoundExceptio

7.png

这种模式最大的特点是可以直接采用字符串的形式定义要使用的类型,并且程序中不需要编写任何的 import 语句。要使用的程序类不存在则会抛出 “ java . lang . ClassNotFoundException ” 异常。

 




相关文章
|
存储 Java 应用服务中间件
如何使用Maven快速构建JavaWeb项目?在idea中使用TomCat详细解读
如何使用Maven快速构建JavaWeb项目?在idea中使用TomCat详细解读
2227 1
|
前端开发 Java Spring
六、Spring MVC的核心九大组件
六、Spring MVC的核心九大组件
六、Spring MVC的核心九大组件
|
算法 Java 程序员
关于《文章发布系统》系列教程原版创作说明
大家好,我是Spring小杨(以前的ID是剽悍一小兔)。我发现在CSDN,还有其他平台上有我这个系列教程的大量复制粘贴,还有许多无说明的“转载”…
179 0
|
SQL 测试技术
abap代码使用sql语句删除自定义表的1条数据
自定义表,指的是abap开发人员使用SE11创建的透明表。既然是自己创建的表,那么增删改查的时候,基本上很自由,至少可以随意使用sql语句对表的内容进行处理。那么,对于这种情况,如何删除数据呢?如下图,是表的内容,红框中的数据,是我们打算删除的内容:删除一条记录。
2238 1
|
算法 前端开发 数据安全/隐私保护
React Native RSA加密
Jsencrypt框架 NPM Jsencrypt 1). npm安装 npm i jsencrypt 2). 导入 import 'jsencrypt'; 3).
2945 0
|
移动开发 前端开发 weex
weex新版Layout引擎以及渲染逻辑探究
# weex新版Layout引擎以及渲染逻辑探究 ## 一、背景 原来weex sdk使用Facebook yoga进行基础css布局,但是由于开源协议问题选择基于Google的FlexboxLayout了自研,此处按下不表。 一言以蔽之,Layout引擎目的是通过递归的方式将节点的css属性约束析构,然后计算出节点正确的位置等基础属性。也就是说需要先明确一点,Layout引擎只
2190 0
|
安全 算法 网络协议
现代移动端网络短连接的优化手段总结:请求速度、弱网适应、安全保障
1、前言 众所周之,通常我们开发一个移动端应用,会直接调用系统提供的网络请求接口去服务端请求数据,再针对返回的数据进行一些处理,或者使用iOS中的开源AFNetworking/OKHttp这样的网络库(Android中可以用HttpURLConnection或者开源的okhttp库),管理好请求线程和队列,再自动做一些数据解析,就结束了。
2360 0
|
C++ 算法 容器
C++实践参考:洗牌(范型程序设计)
【项目2:洗牌】   在扑克牌游戏中,每次游戏开始都要求把54张牌重新排列一下,称为洗牌。试编写程序将一副扑克牌(用54个整数1~54表示)随机洗好后,顺序输出54张牌的情况。   参考界面: 参考解答(共4种,可作为程序阅读,品味用STL解决问题的方法,必要时,请查找相关手册)   解法1:初始化一个 vector,顺序加入所有牌,即整数1~54。然后从容器中随机
1427 0