1:动态语言就是在程序运行的过程当中,可以改变程序的结果和变量的语言成为动态语言,按道理说,Java不是动态语言,
但是java也有一种动态的机制,也就是在java程序运行的过程当中,如果知道这个类的名称,可以调用这个类的方法和属性等
2:跟java里面的这种动态机制相关的类都放在java.lang.Reflect 包里面:
主要有Method类,Array,Construct,Field,Proxy,等类
3:怎么动态获取一个Class呢 可以用以下几种办法
String str = "asdfasdaf"
1:Class c = str.getClass()
2:Class.forName(java.lang.String);
3 : Button b = new Button();
Class c1 = b.getClass();
c1.getSuperclass();
4: Class c1 = BOOLEAN.TYPE()
Class c2 = lONG.TYPE();
.
.
.
等
4:获得一个class对象以后可以通过
Class cl = Long.Type();
Method[] m = cl.getConstructors()获得所有的构造方法
for(int i=0;i<m.length;i++){
System.out.println(m[i].toString());//遍历取得各个方法的名称
}
5:class 有一个重要的方法叫isInstance();用来判断跟制定的对象是否兼容,比如
public static void main(Sting[] args){
Class cl = Integer.Type();
boolean flag = cl.isInstance(new Interger(3))
System.out.println(flag);
}
6: 获得一个class以后也可以通过以下代码来获得所有的Fiele
Class cl = Class.forName("java.lang.String")
Field[] field = cl.getFields();
for(int i=0;i<field.length;i++) {
System.out.println(field.getName);
}
7:创造新的构造器
class c2 = class.forName("newObject");
Class cl = Integer.Type();
Constructor c = c2.getConstructor(cl);
分享到:
相关推荐
总的来说,Java反射机制提供了一种强大的机制,使得程序在运行时能够获取和修改类的信息,极大地增强了Java的灵活性和可扩展性。然而,使用反射时应充分理解其原理,权衡其带来的便利和可能的风险。
Class类是Java反射的入口,每个类在内存中都有一个对应的Class对象。通过Class对象,我们可以获取到类的信息,如类名、包名、父类、接口、构造器、方法和字段等。常见的Class对象获取方式有:`Class.forName("全...
本章节主要讲述Java中的注解和反射机制,涵盖了注解的基本概念、内置注解、元注解和自定义注解等知识点,并引入反射机制,详细介绍了反射的概念、Class类、通过反射获取注解、通过反射创建对象、通过反射调用方法和...
1. 异常处理:Java提供了异常处理机制,通过try-catch-finally捕获和处理异常,确保程序的健壮性。 2. 内存管理:Java使用垃圾回收机制自动回收不再使用的对象,程序员无需手动释放内存。 四、集合框架 1. 集合...
8. 了解反射机制:在运行时动态操作类和对象。 9. 实践数据库操作:使用JDBC连接数据库,执行SQL语句。 总之,这个压缩包提供了全面的Java编程实践,无论你是初学者还是有经验的开发者,都可以从中找到学习和提升的...
4. **反射**:Java反射机制允许在运行时动态地获取类的信息并操作类的对象,这对于插件化开发、序列化和动态代理等场景非常有用。 5. **设计模式**:设计模式是解决常见软件设计问题的最佳实践,如单例模式、工厂...
反射机制允许在运行时检查类、接口、字段和方法的信息,甚至可以在运行时创建和操作对象。在Java中,`java.lang.reflect`包提供了反射相关的类和接口,如`Class`、`Constructor`、`Method`和`Field`。以下是一些关键...
10. **异常处理**:学习Java的异常处理机制,包括try-catch-finally语句块,异常的抛出和捕获,以及自定义异常。 11. **集合框架**:Java集合框架包括List、Set、Queue和Map接口,以及ArrayList、LinkedList、...
3. 反射:反射机制允许在运行时动态访问类的信息,创建和调用对象,这在框架开发和插件化系统中广泛使用。 4. 动态代理:Java的Proxy和InvocationHandler可以实现动态生成代理类,用于拦截方法调用,实现AOP(面向...
8. **反射**:反射是Java的一种动态能力,可以检查和操作运行时的类和对象。源码将展示如何使用Class类、Method类和Constructor类进行反射操作。 9. **注解(Annotations)**:注解是Java 5引入的元数据,用于提供...
8. **反射机制**:Java的反射机制允许运行时动态地获取类的信息并操作类的对象,是很多高级功能如插件系统的基础。 9. **泛型**:泛型提供类型安全,减少强制类型转换,提高代码可读性和可维护性。 10. **Java标准...
8. **反射机制**:如何通过反射获取类信息,创建对象,调用方法,以及其在实际开发中的应用。 9. **设计模式**:掌握单例模式、工厂模式、观察者模式、装饰器模式等常见设计模式,并能分析其优缺点和适用场景。 10...
反射机制允许程序在运行时动态地获取类的信息并调用其方法,这是Java灵活性的体现。Class类、Method类和Field类是进行反射操作的主要工具,而Apache Commons的BeanUtils和PropertyUtils则简化了对象属性的设置和获取...
4. **异常处理**:Java提供了一种机制来处理程序运行时可能出现的错误,即异常处理。使用try-catch-finally结构来捕获并处理异常。 5. **集合框架**:包括List、Set、Map接口和ArrayList、LinkedList、HashSet、...
- **反射机制**:如何动态获取类信息,创建对象,调用方法。 - **设计模式**:常见的设计模式如单例、工厂、装饰器、观察者等。 3. **JVM相关**: - **JVM内存模型**:堆、栈、方法区、本地方法栈等区域的理解。...
8. **反射与注解**:反射是Java的动态性体现,用于在运行时获取类的信息并进行操作。注解(Annotation)是元数据的一种形式,用于提供编译时和运行时的元信息。 9. **Spring框架**:作为Java企业级应用的事实标准,...
Java中可以使用Java反射机制和代理模式来实现RPC框架。反射机制可以动态地调用方法,代理模式可以将服务暴露给客户端。 知识点4:RpcFramework类的实现 RpcFramework类是RPC框架的核心实现类,它提供了export方法...
7. **反射**:反射是Java的一个强大特性,允许程序在运行时动态地获取类的信息并操作对象。它可以用来动态加载类、创建对象、调用方法和修改字段值。 8. **Java标准库(JDK)**:Java开发工具包(JDK)提供了大量的...
18. **反射**:反射机制允许程序在运行时动态地获取类的信息并调用方法,但可能导致安全风险和性能下降。 19. **IO流**:Java的IO流分为字节流和字符流,还有BIO(阻塞I/O)、NIO(非阻塞I/O)和AIO(异步I/O)三种...