`

Java中动态实例化一个对象

 
阅读更多

使用场合:不知道具体要去实例化那个类的对象,通常这个参数由用户传入。即类名不确定!

使用方法:

  1. Class newTraffic = Class.forName("Car"); 
  2. Traffic t= (Traffic)newTraffic.newInstance(); 

    说明:

1、newTraffic为定义的一个变量,类型为Class,用来保存我们动态创建对象实例的类名;

2、forName()这个方法传入的参数是类名,即Car是我们定义好的一个类,返回的是Car这个类;

3、newInstance()即为实例化一个对象,注意它无参数,即它默认调用一个不带参的构造方法,如果你没定义这个不带参的构造方法,系统会调用默认的不带参的构造方法;

4、(Traffic)newTraffic.newInstance(); 这里使用了强制类型转换,如果不进行转换,它默认返回一个原生的Object,这个Object无法调用Car类的任何方法;

5、Traffic是我们定义的一个接口,其中有Car和Plane等具体的类来实现这个接口中的方法。后面可以通过t来调用接口中的方法,当然这个方法的具体实现是放到Car或者Plane等类中的,这样就好比是我们动态创建了Car类,然后调用它里面的一些方法。说得有点通俗,这个在Java里称为接口回调

分享到:
评论

相关推荐

    Java实例化一个抽象类对象的方法教程

    总的来说,虽然Java中的抽象类不能直接实例化,但我们可以通过继承并实现其抽象方法,或者利用字节码工具和注解处理器在运行时或编译时动态生成新的类来间接达到实例化抽象类的目的。这样的设计允许我们创建更加灵活...

    java实例化对象的过程

    在Java编程语言中,实例化对象是创建类的实例,使其具有...总的来说,Java实例化对象是编程中的基本操作,它涉及到类的构造,内存分配,方法调用等多个核心概念。理解这一过程对于深入学习Java和面向对象编程至关重要。

    java 使用静态成员变量计算内存中实例化的对象数目

    在Java编程语言中,了解如何计算内存中实例化对象的数量是一项重要的技能,这对于优化程序性能、理解和管理资源分配至关重要。本篇文章将详细讲解如何利用静态成员变量来追踪和计算一个类在运行时创建的实例数量。 ...

    java实现数组实例化一个类

    综上所述,通过数组实例化类对象是Java编程中的一个重要概念。它不仅可以帮助我们高效地管理具有相同属性的对象集合,还能简化程序结构,提高代码的可读性和可维护性。希望本文能够为你在学习或工作中应用这一技巧...

    java 基础 类对象创建实例化过程 实例解析

    继承关系:类的实例化顺序 * 执行过程为:启动类是否为继承关系树中的一个,如果是则先执行启动类的所有父类的静态语句块;然后执行启动类的静态语句块static{} -> * 执行启动类的main函数 -> 创建对象的继承树从...

    java中通过键盘输入来实例化类对象数组,同时对类对象排序

    java中通过键盘输入来实例化类对象数组,同时对类对象排序,希望初学java的同学们可以下载下学习下

    Java动态调用实例

    在Java编程中,动态调用是一种强大的特性,它允许程序在运行时决定要执行哪个方法或访问哪个对象,而不是在编译时固定。这主要通过Java的反射API和接口实现。下面将详细解释这些概念以及如何在一个实际示例中应用...

    java动态代理实例aop

    Java动态代理是Java编程中一个非常重要的特性,它在实际开发中被广泛应用于面向切面编程(Aspect-Oriented Programming,简称AOP)领域。AOP是一种编程范式,旨在提高代码的可重用性和模块化,通过将关注点分离,...

    Java反射和动态代理实例

    可以学习如何通过Java的反射机制实例化对象、调用对象的方法、操作对象的私有成员变量、改变数组中的某项的值、改变数组大小等;可以学习Java的动态代理模式、学习Java工厂模式以及如何将工厂模式与属性文件相结合。

    反射和动态实例化

    动态实例化是反射的一个关键应用,它使得我们能够在运行时根据需要创建对象,而无需在编译时就确定具体类。这在处理插件系统、框架设计和元数据驱动的应用程序中非常有用。 首先,让我们深入理解反射的基本概念。...

    再发一些Java对象、Java类学习实例.rar

    2. **对象的创建**:使用new关键字和构造函数来实例化对象。 3. **访问控制**:理解public、private、protected等访问修饰符的作用。 4. **数据封装**:如何保护数据不被外部直接访问,提高代码安全性。 5. **继承**...

    java-nio.rar_java nio_nio 对象实例化

    总结来说,这个压缩包的内容可能涵盖了如何在Java NIO中实例化和使用通道、缓冲区、选择器,以及如何实现一个简单的多线程服务器,利用选择器来监听和处理来自多个客户端的非阻塞I/O请求。这些内容对于理解和使用...

    Java让泛型实例化的方法

    然而,在 Java 中使用泛型时,会出现一个问题:如何实例化泛型对象?在 Java 中,泛型擦除机制使得编译器无法确定泛型所对应的真实类型,因此无法直接实例化泛型对象。下面将详细介绍 Java 让泛型实例化的方法。 ...

    通过java类的路径实例化类并调用方法

    通过java类的路径实例化类并调用方法:仅仅知道类的路径,就可以实例化对象,利用反射机制调用其方法

    java源码包---java 源码 大量 实例

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    java面向对象程序设计实例

    在实际应用中,我们可以创建一个`ArrayList<Animal>`,并添加`Dog`和`Cat`对象,然后遍历列表调用`sound()`方法,展示多态性。 4. 构造器:构造器用于初始化新创建的对象。Java类可以有一个或多个构造器,它们的...

    java动态口令登录实现过程详解

    在这个过程中,客户端需要实例化一个 ItsClient 对象,用于调用验证功能。 ItsClient 对象的构造函数中,需要设置动态口令的参数,例如 IP 地址、端口、AppID 和 AppKey 等。这些参数将被用于生成动态口令和验证...

    java中对象创建、初始化、引用

    在Java中,当我们通过赋值操作符`=`将一个引用赋值给另一个引用时,实际上是传递了对象的地址,而不是对象本身。例如: ```java A a1 = new A(); A a2 = a1; // a2现在也指向了a1所指向的同一个对象 ``` 这里的`a2...

    java中用数组为一个类定义多个对象

    下面我们将详细探讨如何在Java中用数组为一个类定义多个对象,并进行实例化。 首先,让我们创建`Person`类。这个类可能包含一些属性,如姓名、年龄等,以及与这些属性相关的操作方法: ```java public class ...

    Java面向对象编程实例详解

    "Java面向对象编程实例详解2.txt"和"Java面向对象编程实例详解.txt"可能包含了详细的讲解和示例代码,涵盖了类的创建、对象的实例化、访问控制、构造函数、抽象类和接口、异常处理、集合框架等方面的知识。...

Global site tag (gtag.js) - Google Analytics