//TesDynamicLoading.java
public class TestDynamicLoading {
public static void main(String[] args) {
new A();
System.out.println("********************************************");
new B();
new C();
new C();
new D(1);
new D(1);
}
}
class A{
}
class B{
}
class C{
static{//类加载时被执行
System.out.println("CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC");
}
}
class D{
D(int i){
}
{//为对象分配内存时执行
System.out.println("DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD");
}
}
//TestJDKClassloader.java
public class TestJDKClassLoader {
public static void main(String[] args) {
/*System.out.println(String.class.getClassLoader());
System.out.println(com.sun.crypto.provider.DESKeyFactory.class
.getClassLoader().getClass().getName());
System.out.println(TestJDKClassLoader.class.getClassLoader().getClass()
.getName());
System.out.println(ClassLoader.getSystemClassLoader().getClass().getName());*/
ClassLoader c=TestJDKClassLoader.class.getClassLoader();
while(c!=null){
System.out.println(c.getClass().getName());
c=c.getParent();
}
}
}
//TestReflection.java
import java.lang.reflect.Method;
public class TestReflection {
public static void main(String[] args) throws Exception {
String str = "T";
Class c = Class.forName(str);
Object o = c.newInstance();
Method[] methods = c.getMethods();
for (Method m : methods) {
if (m.getName().equals("mm")) {
m.invoke(o, new Object[] {});
}
if (m.getName().equals("m1")) {
m.invoke(o, 1, 2);
for(Class parameterTypes:m.getParameterTypes()){
System.out.println(parameterTypes.getName());
}
}
if(m.getName().equals("getS")){
Class returnType = m.getReturnType();
System.out.println(returnType.getName());
}
}
}
}
class T {
static {
System.out.println("T is Loading !");
}
public T() {
System.out.println("Constructor Called !");
}
int i;
String s;
public void mm() {
System.out.println("m invoked !");
}
public void m1(int i, int j) {
this.i = i + j;
System.out.println(" i = " + this.i);
}
public String getS() {
return s;
}
}
分享到:
相关推荐
·自Java语言起源始,循序渐进,知识点剖析细致且每章配备大量随堂练习,让你步步为营,学得透彻、练得明白 ·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅出,迅速让你把握问题本质,四两拨千...
·自Java语言起源始,循序渐进,知识点剖析细致且每章配备大量随堂练习,让你步步为营,学得透彻、练得明白 ·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅出,迅速让你把握问题本质,四两拨千...
本章节主要讲述Java中的注解和反射机制,涵盖了注解的基本概念、内置注解、元注解和自定义注解等知识点,并引入反射机制,详细介绍了反射的概念、Class类、通过反射获取注解、通过反射创建对象、通过反射调用方法和...
动态性:Java可以通过反射、注解等机制实现在运行时动态加载类和修改行为,增加了程序的灵活性。 综上所述,Java凭借其强大的特性和广泛的适用范围,在企业级应用、互联网服务、移动开发等领域均扮演着举足轻重的...
9. **反射机制**:Java反射机制允许在运行时检查类的信息,创建和调用类的对象,增强了程序的动态性。 10. **JavaFX与Swing**:这两个是Java的图形用户界面(GUI)库,用于构建桌面应用程序。学习者可能需要创建...
- 使用Java反射机制获取类信息的方法; 阅读建议: - 在阅读过程中,请结合实际代码运行,加深对概念和原理的理解。 - 尝试修改示例代码,观察结果的变化,以加强对原理的掌握。 - 学习过程中保持耐心和反复练习,...
动态性:Java可以通过反射、注解等机制实现在运行时动态加载类和修改行为,增加了程序的灵活性。 综上所述,Java凭借其强大的特性和广泛的适用范围,在企业级应用、互联网服务、移动开发等领域均扮演着举足轻重的...
Java 中的反射机制是指可以使用反射机制来实现动态调用方法和访问成员变量。在 Java 中,我们可以使用反射机制来实现动态调用方法和访问成员变量。 Java 中的注解是指可以使用注解来实现元数据编程。在 Java 中,...
4. **Java反射机制**:反射机制允许在运行时动态地获取类的信息(如类名、属性、方法等),并能创建和操作类的对象,广泛应用于Spring、MyBatis等框架中。 5. **抽象类与接口的区别**:抽象类可以包含抽象方法和非...
全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通讯编程和Java反射机制;...
Java反射机制是Java编程语言中的一个重要特性,它允许程序在运行时动态地获取类的信息并进行操作。在Java基础学习中,理解并掌握反射是非常关键的一步,因为这不仅可以帮助你深入理解Java的内在机制,还能提升你在...
全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制;...
动态性:Java可以通过反射、注解等机制实现在运行时动态加载类和修改行为,增加了程序的灵活性。 综上所述,Java凭借其强大的特性和广泛的适用范围,在企业级应用、互联网服务、移动开发等领域均扮演着举足轻重的...
以上内容只是Java程序设计的基础概述,实际学习和应用中还需要深入理解和实践,包括深入理解类库、异常处理机制、集合框架、反射、设计模式等高级主题。Java的广泛应用使得掌握这些知识对于成为一名专业的Java开发者...
了解这些基础知识后,可以开始深入学习Java的类库、异常处理、IO流、集合框架、网络编程、多线程编程以及更高级的概念,如反射、注解和模块化等。对于初学者,理解Java的基本原理和实践编程是至关重要的,这将为后续...
全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通讯编程和Java反射机制;...
全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通讯编程和Java反射机制;...
全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通讯编程和Java反射机制;...
全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通讯编程和Java反射机制;...
Java 中的反射机制和动态代理机制是用于动态地获取和修改类的信息,例如,使用反射机制来实现动态代理。 28. 函数式接口 Java 中的函数式接口是一种接口,用于定义函数式编程的接口,例如,Predicate、Function 和 ...