`
Arron.li
  • 浏览: 136192 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java反射机制-通过非默认构造器创建对象

    博客分类:
  • Java
阅读更多

今天研究了下java反射机制,并利用反射机制,通过非默认构造器创建对象,代码如下:

public class Toy {
	  // Comment out the following default constructor
	  // to see NoSuchMethodError from (*1*)
	 public Toy() {}
	 public Toy(int i) {}
	 public Toy(String s) {System.out.println("Toy(String s)");}
}
public class ToyTest {

	public static void main(String[] args) {
		Class c = null;
		Constructor con = null;
		Toy toy = null;
		try {
			c = Class.forName("typeinfo.toys.Toy");
			try {
                    //获取String类型构造器:
				con = c.getConstructor(String.class);
				System.out.println(con);

                    //传入“” 作为初始化参数
                                toy = (Toy) con.newInstance("");
				System.out.println(toy);
			}
			catch (NoSuchMethodException e) {}
			catch (IllegalArgumentException e) {}
			catch (InstantiationException e) {}
			catch (IllegalAccessException e) {}
			catch (InvocationTargetException e) {}

		}
		catch (ClassNotFoundException e) {
			print("Can't find FancyToy");
			System.exit(1);
		}
		catch (SecurityException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
分享到:
评论

相关推荐

    JAVA 反射机制应用

    - 对象实例化:通过Class对象的newInstance()方法或Constructor对象的newInstance()方法创建对象。 - 访问类成员:获取Field、Method和Constructor对象,进而访问类的字段、调用方法或构造函数。 2. **Field类** ...

    java反射机制原理

    - 使用`Class`对象的`newInstance()`方法,前提是该类有默认构造器。 - 通过`getConstructor(Constructor<?>... parameterTypes)`获取构造器,然后调用`newInstance(Object... initArgs)`方法,传入参数。 3. ...

    java反射机制文档

    反射机制可以通过`newInstance()`方法创建对象,前提是没有默认构造器或者构造器需要参数。如果需要参数,可以使用`Constructor`类的`newInstance(Object... args)`方法。 **4. 访问字段** - `getField(String ...

    java反射机制详解

    反射机制可以用来动态创建对象,`Class.newInstance()` 使用默认构造器创建对象,或者使用`Constructor.newInstance()` 指定构造器参数创建对象。 5. **调用方法** 调用方法需要获取Method对象,然后使用`invoke...

    Java反射机制总结(实例分析)

    首先,通过`getClass()`获取对象的`Class`对象,然后使用`getDeclaredConstructor()`获取默认构造器创建新对象。接着,遍历并复制所有字段值。 需要注意的是,反射操作通常比直接调用方法和访问字段慢,因为它涉及...

    java反射机制

    Java反射机制是在运行时通过Reflection APIs获取任何已知类的内部信息,包括类的修饰符(如public、static等)、超类、实现的接口、字段和方法的全部信息。它还允许在运行时改变字段内容、调用方法,甚至创建未知类...

    Java反射机制的使用和学习方法

    Java反射机制是在程序运行过程中,能够获取到关于类、接口、对象等的详细信息,并能动态地创建对象、调用方法、访问字段。这种能力使得开发者能够在不知道具体类名的情况下,仍然可以操作这些类的成员。 2. **反射...

    Java反射机制的详细讲解及实例,有助于java深度开发

    1. 创建对象:通过`Class.newInstance()`创建默认构造器的对象,或`Constructor.newInstance()`创建指定构造器的对象。 ```java Class<?> clazz = Class.forName("com.example.MyClass"); MyClass obj = (MyClass) ...

    JAVA反射机制和JDBC和各种数据库的连接

    2. 创建对象:`Class`对象的`newInstance()`方法用于创建指定类的新实例,前提该类有默认构造器。若需要调用带参数的构造器,需使用`Constructor`类的`getDeclaredConstructor()`和`newInstance()`方法。 3. 访问...

    653.651.JAVA基础教程_反射-获取运行时类的构造器结构(653).rar

    Java反射机制是Java编程语言中的一个重要特性,它允许程序在运行时检查类、接口、字段和方法的信息,甚至能够动态创建对象并调用其方法。本教程主要关注如何通过反射来获取运行时类的构造器结构。以下是关于Java反射...

    Java 反射机制浅析

    Java反射机制是Java编程语言中一个强大的特性,它允许程序在运行时动态地获取类的信息并操作类的对象。反射机制的核心在于,它打破了编译时的束缚,使得代码具有更高的灵活性和可扩展性。在Java中,反射主要依赖于`...

    JAVA反射机制详解

    - 创建对象:即使类的构造器是私有的也可以通过反射来实例化对象。 - 调用方法:包括公有、保护、默认访问级别的方法以及私有方法。 - 访问字段:包括公有、保护、默认访问级别的字段以及私有字段。 #### 三、Java...

    java的反射机制

    // 通过默认构造方法创建一个新的对象 Constructor<?> constructor = classType.getConstructor(); Object objectCopy = constructor.newInstance(); // 获得对象的所有属性 Field[] fields = classType....

    Java 的反射机制

    除了默认的无参构造器,我们还可以通过`getConstructor()`方法获取类的特定构造器,并使用`newInstance()`创建实例。 6. **动态代理**: Java反射机制还支持生成动态代理,这在处理接口调用时非常有用。`Proxy....

Global site tag (gtag.js) - Google Analytics