- 浏览: 115200 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
gtd03:
[b][/b][i][/i][u][/u]引用[*][img] ...
js 监听监键盘动作 -
tomfish88:
你用5条数据太少了,你用50000条你就看出差距了
多线程效率问题
1
获得类
package org.lxh.demo15.getclassdemo ;
class X{
};
public class GetClassDemo02{
public static void main(String args[]){
Class<?> c1 = null ; // 指定泛型
Class<?> c2 = null ; // 指定泛型
Class<?> c3 = null ; // 指定泛型
try{
// 以下的操作形式是在开发中最常用的一种形式
c1 = Class.forName("org.lxh.demo15.getclassdemo.X") ;
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
c2 = new X().getClass() ; // 通过Object类中的方法实例化
c3 = X.class ; // 通过类.class实例化
System.out.println("类名称:" + c1.getName()) ; // 得到类的名称
System.out.println("类名称:" + c2.getName()) ; // 得到类的名称
System.out.println("类名称:" + c3.getName()) ; // 得到类的名称
}
};
2
实例化
package org.lxh.demo15.instancedemo ;
class Person{
private String name ; // name属性
private int age ; // age属性
public void setName(String name){
this.name = name ;
}
public void setAge(int age){
this.age = age ;
}
public String getName(){
return this.name ;
}
public int getAge(){
return this.age ;
}
public String toString(){ // 覆写toString()方法
return "姓名:" + this.name + ",年龄:" + this.age ;
}
};
public class InstanceDemo01{
public static void main(String args[]){
Class<?> c = null ; // 声明Class对象
try{
c = Class.forName("org.lxh.demo15.instancedemo.Person") ;
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
Person per = null ; // 声明Person对象
try{
per = (Person)c.newInstance() ; // 实例化对象
}catch(Exception e){
e.printStackTrace() ;
}
per.setName("李兴华") ; // 设置姓名
per.setAge(30) ; // 设置年龄
System.out.println(per) ; // 内容输出,调用toString()
}
};
必须有无参构造方法
3
有参构造方法
package org.lxh.demo15.instancedemo ;
import java.lang.reflect.Constructor ; // 导入反射机制包
class Person{
private String name ; // name属性
private int age ; // age属性
public Person(String name,int age){
this.setName(name) ;
this.setAge(age);
}
public void setName(String name){
this.name = name ;
}
public void setAge(int age){
this.age = age ;
}
public String getName(){
return this.name ;
}
public int getAge(){
return this.age ;
}
public String toString(){ // 覆写toString()方法
return "姓名:" + this.name + ",年龄:" + this.age ;
}
};
public class InstanceDemo03{
public static void main(String args[]){
Class<?> c = null ; // 声明Class对象
try{
c = Class.forName("org.lxh.demo15.instancedemo.Person") ;
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
Person per = null ; // 声明Person对象
Constructor<?> cons[] = null ;
cons = c.getConstructors() ;
try{
per = (Person)cons[0].newInstance("李兴华",30) ; // 实例化对象
}catch(Exception e){
e.printStackTrace() ;
}
System.out.println(per) ; // 内容输出,调用toString()
}
};
- 031502_【第15章:JAVA反射机制】_CLASS类的使用笔记.PDF (222.8 KB)
- 下载次数: 3
发表评论
-
ServerSocket 多线程服务器开发
2011-04-24 16:24 1655package socket; import j ... -
InetAddress 获得IP
2011-04-24 15:43 1459import java.net.InetAddress ... -
接口的作用 宠物商店
2011-04-24 15:14 1145package PetShopDemo; inte ... -
Arrays
2011-04-24 14:15 751package ArraysTest; impor ... -
Cloneable 对象克隆
2011-04-24 14:08 1039class Person implements Clon ... -
System
2011-04-24 13:59 782package SystemTest; publi ... -
Collections
2011-04-24 13:40 1348import java.util.Collections ... -
TreeSet对象排序的方法
2011-04-24 13:09 1460package set; import java. ... -
HashMap 的两种遍历方式
2011-04-24 12:35 744public static void main(Str ... -
ENUMERATION接口
2011-04-23 14:51 769很少用 import java.util.Vec ... -
ListIterator
2011-04-23 14:44 9501 只能有List实例化 2 必须先有头到尾,才能由尾到头 ... -
Iterator
2011-04-23 14:36 1038import java.util.List ; imp ... -
List.subList 得到的新数组地址指向旧数组
2011-04-23 14:22 1048public static void main(Str ... -
SortedSet
2011-04-23 13:50 846import java.util.SortedSet ; ... -
HashSet TreeSet
2011-04-23 13:43 770import java.util.HashSet ; ... -
LinkedList 队列
2011-04-23 13:36 855import java.util.LinkedList ... -
List Vector
2011-04-23 13:14 743import java.util.ArrayList ; ... -
collection 接口
2011-04-23 12:09 665图片 -
HashSet 对对象去重
2011-04-21 23:00 3148import java.util.Set ; impo ... -
Properties 属性 properties xml
2011-04-21 22:40 912import java.util.Properties; ...
相关推荐
JAVA反射机制-Class类-Class对象的获取.pdf
二,反射机制的作用: 1,反编译:.class-->.java 2,通过反射机制访问java对象的属性,方法,构造方法等; 这样好像更容易理解一些,下边我们具体看怎么实现这些功能。
java反射jar包中class,并可进行文件比较
总结非常完全的文档。对Java初学着和进阶学习的学者是一份相当不错的Java学习资料
在Java的反射中,Class.forName和ClassLoader的区别共4页.pdf.zip
反射获取Class类对象的三种方法 2.1 通过全类名的方式获取 2.2 类名.class 2.3 实例对象.getClass() 2.4 总结 3. 反射获取属性变量 3.1 获取所有public修饰符的成员变量 3.2 获取指定字段并赋值 3.3 获取...
class汉化工具class汉化工具class汉化工具class汉化工具
(获取class文件对象的三种方式) (通过反射获取无参构造方法并使用) (通过反射获取带参构造方法并使用) (通过反射获取私有构造方法并使用) (通过反射获取成员变量并使用) (通过反射获取无参无返回值成员方法并使用) ...
java反射的用例代码 // //获取类对象的属性 // Field field = clazz.getDeclaredField("name"); // System.out.println(field); // // Method method = clazz.getDeclaredMethod("getName", new Class[]{}); // ...
//反射创建 DataCache.SetCache(ClassNamespace, objType);// 写入缓存 } catch (System.Exception ex) { LogHelper.WriteLog(typeof(DataAccess), LogType_Enum.Error, ex); return null; } } return ...
1.获取Class对象的三种方式 2.获取构造方法并调用 3.获取成员方法 4.获取成员变量 5.反射数组 6.通过反射配置文件内容 7.通过反射越过泛型检查 8.其他一些文本笔记 读者需要补充的知识点我来说一下,补充: 1.反射...
首先来看看使用反射来获取注解名: 只需在获取class后调用getAnnotation方法即可,如下 这里是获取JPA映射b表名,Table.class,使用下面这个可以获取表名 import javax.persistence.Table; annotation.name() 这里...
反射+Class+获取和操作+入门 - 本资源是一个反射的入门,教你如何用Java的Class类获取和操作类的信息,包括构造器,方法,字段,注解,泛型等。
1.反射机制概述 java能够反射的前提:已经加载过这个类 反射可以通过类名来寻找这个类的所有相关信息、类似于人类的记忆,事先在记忆中有了这个事物的信息,人就可以通过名字来在记忆中寻找事物的具体信息。 ...
ClassFinal-java class文件安全加密工具
主要介绍了Java泛型的用法及T.class的获取过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
python实现的简单的class解析以及简单执行class,使用python2解析java class文件,并简单执行 class,让大家更加了解class
反射分析类源码,完整的分析.CLASS中的属性,方法等
Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中...