- 浏览: 95522 次
- 性别:
文章分类
- 全部博客 (151)
- Spring-MVC学习 (5)
- 偶然间发现 (2)
- easyUi学习 (7)
- web项目相关技术 (4)
- java学习 (26)
- webService (4)
- 一些工具的安装使用 (7)
- js学习 (20)
- Sping学习 (7)
- mybatis学习 (5)
- 定时器 (4)
- oracle (2)
- JSP学习 (6)
- HTML一些标签 (1)
- web服务 (2)
- 偶尔得到的地址 (2)
- 常用的代码记录 (2)
- 设计模式 (1)
- java常使用的开源API (1)
- maven (1)
- Socket (1)
- nginx (2)
- jquery (3)
- poi (2)
- 写过的工具类 (19)
- 微信开发 (2)
- mysql (1)
- freemarker (2)
- ftp (1)
- 用过的软件 (1)
- jconsole (1)
- log4j (1)
- redis的简单入门使用 java调用redis (0)
- redis的使用 (2)
- 生活相关的 (1)
最新评论
-
chokee:
...
easyUi学习之开启行编辑模式增删改操作 -
lijie_insist:
就是有的界面需要显示天气啊!所以你要调用天气的接口啊 因为很多 ...
免费的天气接口的一个demo -
zhglance:
请问这是干什么用的呢?
免费的天气接口的一个demo
今天看java.lang.reflect包中的信息时,想到了这几个得到Class对象的方法的区别
类名.class;// 该方法最为安全可靠,程序性能更高。
对象明.getClass();
Class.forName("className");// 可能抛出ClassNotFoundException异常
其中的区别:
Class.class和getClass()是在编译期间加载而forName()是在运行期间加载
Class.class只是在编译时用来存放类的相关信息,并没有实例化对象而getClass()既实例化了对象,有存放了类信息
类名.class;// 该方法最为安全可靠,程序性能更高。
对象明.getClass();
Class.forName("className");// 可能抛出ClassNotFoundException异常
其中的区别:
Class.class和getClass()是在编译期间加载而forName()是在运行期间加载
Class.class只是在编译时用来存放类的相关信息,并没有实例化对象而getClass()既实例化了对象,有存放了类信息
package test; import bean.TestBean; public class TestGetClass { /** * http://www.importnew.com/1796.html */ public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException { TestBean tb = new TestBean(); // 第一种 System.out.println(tb.getClass()); // 第二种 System.out.println(Class.forName("bean.TestBean")); // 第三种 System.out.println(TestBean.class); System.out.println("-------------------"); System.out.println(new TestBean()); System.out.println(TestBean.class.newInstance()); System.out.println("--------------------------"); System.out.println(tb.getClass().newInstance()); System.out.println(tb); } }
发表评论
-
ajax的分页分页请求,通过ajax来分页
2015-12-01 14:55 438这里面通过自定义标签实现的,因为项目没有采用jsp模板而是用的 ... -
java学习之JAXB解析xml
2015-08-17 09:07 899时间仓促,只记录代码 //实体类 package com.w ... -
生成验证码的方法
2015-07-17 08:43 2忘了在哪里参考过代码,后来自己参照了写了这一段code pac ... -
javax.mail邮件发送返回状态吗
2015-07-02 17:35 1565项目需要集成邮件发送,之前在.net下写过smtp的邮 ... -
javax.mail邮件发送
2015-06-30 12:50 0package com.demo.common; impor ... -
java的(PO,VO,TO,BO,DAO,POJO)解释
2015-06-04 11:31 424原地址:http://www.cnblogs. ... -
JDBC学习
2015-04-21 10:02 282原文来自:http://blog.csdn.net/fight ... -
j2ee web项目的基本结构
2015-03-20 14:50 520原地址:http://www.cnblogs.co ... -
HTTP 返回的状态码的含义
2015-03-20 14:38 427在网上看到的,总结的蛮 ... -
java学习之try catch finally中的return语句执行
2015-03-10 14:21 519http://blog.csdn.net/kavensu/ar ... -
java反射机制的学习
2015-03-06 13:39 338http://blog.csdn.net/zzjjiandan ... -
java学习之时间类的使用
2015-03-06 10:26 459有时候要对时间进行各方面的操作,这里就记录下最近使用到的对时间 ... -
为什么接口的属性用public static final修饰
2015-03-05 09:14 547每次只是看了看.好多都没去实践和去想! 自己写了个接口才会想到 ... -
正则表达式的学习
2015-03-04 11:10 337http://help.locoy.com/Document/ ... -
面向对象的特征
2015-03-02 17:56 364今天看到一篇文章对面 ... -
java调用webservice(asmx)的例子
2015-02-04 16:54 419转自:http://www.blogjava.net/jerr ... -
java学习之流的学习
2015-01-21 14:12 365因为经常用到流,并且发现java中的数据流的确很多种类,而自己 ... -
java学习之图片上传,下载显示demo
2015-01-19 10:43 2537每次都是用的框架来弄 ... -
java学习之String的一些处理函数
2014-12-12 17:17 549前两天开发一个关于解析数据的一个小功能,发现需要大肆的用到St ... -
java学习之super与this使用
2014-12-01 09:16 530this和super关键字可以用来覆盖的java语言的默认作用 ...
相关推荐
在Java编程语言中,"class literal"、"instance.getClass()" 和 "Class.forName(String className)" 是三个与类加载和类型查询紧密相关的概念。了解这些概念对于深入理解Java运行时的类加载机制至关重要。 首先,让...
Class ownerClass = Class.forName(className) :首先得到这个类的Class。 Field field = ownerClass.getField(fieldName):和上面一样,通过Class得到类声明的属性。 Object property = field.get(ownerClass) :...
在上面的代码中,首先通过 `Class.forName(className)` 获取该类的 Class,然后配置参数的 Class 数组,接着通过 `ownerClass.getMethod(methodName, argsClass)` 获取该类的静态方法,最后通过 `method.invoke(null...
Class<?> clazz = Class.forName("fully.qualified.className"); ``` - **示例**: ```java Class<?> testTypeForName = Class.forName("TestClassType"); ``` - **注意事项**: - 使用此方法时需要捕获`...
Class<?> ownerClass = Class.forName(className); Field field = ownerClass.getField(fieldName); Object property = field.get(null); return property; } ``` 这里演示了如何获取静态字段的值。与上例不同...
Class ownerClass = Class.forName(className); // 通过类名获取Class对象 Field field = ownerClass.getField(fieldName); // 获取指定名称的公共字段 Object property = field.get(ownerClass); // 获取静态...
- **`public static Class<?> forName(String className)`**:这是一个原生方法,用于动态加载类。这个方法非常关键,比如在SQL中动态加载数据库驱动时会用到:`Class.forName("com.mysql.jdbc.Driver")`。 - **`...
Class<?> clazz = Class.forName(className); classCache.put(className, new SoftReference(clazz)); return clazz; } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } } ``` 3. *...
Class ownerClass = Class.forName(className); Field field = ownerClass.getField(fieldName); Object property = field.get(ownerClass); return property; } ``` 在执行某对象的方法时,我们可以使用...
这个方法首先通过 `Class.forName(className)` 得到该类的 Class,然后通过 `getField(fieldName)` 得到类声明的属性,最后通过 `field.get(ownerClass)` 得到该静态属性的实例。 要执行某对象的方法,我们可以使用...
- 使用`Class.forName(String className)`方法,如`Class.forName("java.lang.String")`。 2. **Field类**:表示类中的字段(包括属性和静态变量)。主要方法包括: - `Field getField(String name)`:获取指定...
- 使用`Class.forName(String className)`方法,根据类名动态加载类,同时创建Class对象。 - 类的静态块执行时,如果类还未加载,JVM也会加载该类并创建Class对象。 2. **getClassName()方法**:`obj.getClass()....
Class ownerClass = Class.forName(className); Field field = ownerClass.getField(fieldName); return field.get(null); // 注意这里传入null } ``` ##### 3.3 调用方法 除了访问字段之外,反射还可以用来...
2. **使用`Class.forName(String className)`**: ```java Class<?> demoClass = Class.forName("Reflect.Demo"); ``` 3. **使用对象的`getClass()`方法**: ```java Demo demo = new Demo(); Class<?> demo...
如`Class ownerClass = Class.forName(className)`获取类的Class,`Field field = ownerClass.getField(fieldName)`获取静态字段,然后`field.get(ownerClass)`获取静态属性的值。 3. 执行对象的方法: 调用对象的...
Class<?> ownerClass = Class.forName(className); Field field = ownerClass.getField(fieldName); Object property = field.get(ownerClass); return property; } ``` 这段代码展示了如何获取一个类的静态...
Class<?> ownerClass = Class.forName(className); Field field = ownerClass.getField(fieldName); Object property = field.get(ownerClass); return property; } ``` 此示例演示了如何获取静态字段的值。...
- `Class.forName(String className)`方法用于在运行时动态加载指定名称的类。在`ClassDemo`的示例中,`Class c = Class.forName("com.cn.Test")`将加载名为`com.cn.Test`的类,并可以进一步调用`newInstance()`...
Class<?> ownerClass = Class.forName(className); Field field = ownerClass.getField(fieldName); Object property = field.get(null); // null 表示静态字段 return property; } ``` - `Class.forName...
3. 调用`Class`类的静态方法`forName(String className)`。例如: ```java Class<?> clazz = Class.forName("java.util.Date"); ``` 这需要提供类的全限定名,并且如果类不存在,会抛出`ClassNotFoundException`。 ...