方法-java 实例的名称通过传递的参数来创建???

问题描述

java 实例的名称通过传递的参数来创建???

写个方法:
方法功能是创建个类的实例,实例名称由该方法的传递参数指定

个人分析:
构造类的实例时,其实是new 构造方法 到一个变量中,
这个变量的名称需要由另一个变量(即传递参数)所指的字符串来指定

第一反应是反射,获取传递参数类的实例,失败。

暂时没想到好的方法

我的目的,期初是这么想的:

static String[] toks = { "baf", "fim1", "fim", "foo" };

依次取tok为数组中的每个字符串,创建类的实例
假设现在tok="baf",传入下面的方法onestringToAttribute,希望返回一个名字叫 baf 的BswabeAttribute 类的实例对象

 private static BswabeAttribute onestringToAttribute(String tok) {
                BswabeAttribute tok = new BswabeAttribute();
                return tok;
    }

直接这么写是错的 tok变量重用

后面的操作就是对这个几个实例对象的操作。
由于String[] toks 这个数组字符串是由用户输入的,所以不能提前预知这几个对象的名是什么。

解决方案

这个想法是不错,动态创建实例
可是没办法,创建实例的时候所要分配的内存空间的名称是必须要提前给的

解决方案二:

为什么会有这个想法呢?没想到怎么实现

解决方案三:

你是想要
String a = 'aaa';
Object s = new Object();
这个样子吗?实现不了,换个思路吧~

解决方案四:

实例名称由该方法的传递参数指定?
我想说JAVA是静态语言,实例名称这种应该实在编译前就确认的,不能在运行的时候动态修改的把
我倒是想到asm应该可以实现,但是完全没有这个必要啊

解决方案五:

只能是已定义的类,不能完全**动态**。

    Object createObject(String name) {
        if ("a".equals(name)==true) {
            return new a();
        } else if ("b".equals(name)==true) {
            return new b();
        }
    }

解决方案六:

这样做的意义在哪呢?你想通过制定的对象名去获取对象吗?

解决方案七:

既然类型固定名称动态,不就是个字典么,Key 用 "baf"、 "fim1"、 "fim"、 "foo"。
字典就能做到“名称”动态啊!

时间: 2024-10-01 18:48:58

方法-java 实例的名称通过传递的参数来创建???的相关文章

在asp.net页面中传递中文参数

asp.net|页面|中文 1.设置web.config文件.     <system.web>       ......       <globalization   requestEncoding="gb2312"   responseEncoding="gb2312"   culture="zh-CN"   fileEncoding="gb2312"   />       ......      

Java反射之通过反射获取一个对象的方法信息(实例代码)_java

以下代码为一个工具类 package com.imooc.reflect; import java.lang.reflect.Method; public class ClassUtil { public static void printClassMessage(Object obj){ //要获取类的信息,首先要获取类的类类型 Class c = obj.getClass();//传递的是哪个子类的对象,c就是该子类的类类型 //获取类的名称 System.out.println("类的名称

PHP页面间传递值和保持值的方法_php实例

一.目录结构 二.两次页面间传递值 在两次页面之间传递少量数据,可以使用get提交,也可以使用post提交,二者的区别恕不赘述. 1.get提交 使用get提交来传递数据,在链接地址中修改发送到服务器的 URL 如下所示http://www.cnblogs.com/MarkRao/p/php01.html?gName=mark&gAge=26,当然也可以在表单中设置method="get",php中接收get提交过来的数据值,使用预定义$_GET变量 从带有 GET 方法的表单

存取程序状态的几种方法——Java I/O应用杂谈

程序 jungleford如是说     已经有一个多月没有搭理blog了,原因很多,譬如实验室的项目正在收工,巨忙:譬如找工作及其相关的事情:而且二月份大部分时间是陪老爹老妈,家里拨号的速度可想而知--但主要还是没有找到一个合适的topic,或者说这段时间懒了(临毕业前期综合症),净在看<汉武大帝>和历史方面的书,还有其它乱七八糟的闲书,就是没有认真地玩Java,哈哈!现在工作差不多落实了,好在不算太烂,小资青年jungleford的生活又开始步入正轨了!以上是新年里的一些废话.    今天

jquery Ajax的load方法及实例

jquery中的load方法: (1).前面没有jquery.修饰,可以推断出他是一个普通的非全局函数(也就是说是一个局部函数):$.,$().,jquery.等修饰的就是全局函数,没有这些修饰的就是局部函数. (2).$(expr).load(url,data,callback); url:请求路径,绝对路径或者相对路径都可以. data: 请求参数,格式必须是key/value格式(json格式) callback:回调函数.function(data,textStatus,XMLHttpR

JSP页面中超链接传递中文参数出现乱码问题解决方法_JSP编程

本文实例讲述了JSP页面中超链接传递中文参数出现乱码问题解决方法.分享给大家供大家参考,具体如下: 这里分析超链接传递中文参数,在接受页面中出现乱码问题的解决方法. 解决方法: 在接受页面里可以如下处理, 复制代码 代码如下: <%=new String(request.getParameter("变量名字").getBytes("ISO-8859-1")) %> 注意这里用的是 new String() 创建一个新的字符串 例题: 页面一: <h

Java语言入门教程(九):Java语言中的值传递

在第八篇博文中,介绍了编写方法体必须了解的基本知识点,初学者已经可 以自己写简单的例子进行练习.在练习过程中,我们不可能把所有的代码都放在 main方法中,Java类一定会有或多或少的方法成员,调用这些方法将是必要的步 骤.而调用方法成员时,如果该方法有参数,就必须要传递实际参数给方法的形 式参数.所以了解Java语言中的值传递是非常必要的. Java中的数据类型分两种,基本数据类型和引用类型.所以本文中也将分别 对这两种数据类型的值传递特征进行介绍. 1.基本数据类型的值传递:基本数据类型传递

JQuery选中checkbox方法代码实例

  这篇文章主要介绍了JQuery选中checkbox方法代码实例(全选.反选.全不选),本文直接给出代码实例,需要的朋友可以参考下 1.checkbox list选择 代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

jquery中filter方法用法实例分析

 这篇文章主要介绍了jquery中filter方法用法,实例分析了filter方法的功能并对比了与find方法的区别,需要的朋友可以参考下     本文实例讲述了jquery中filter方法用法.分享给大家供大家参考.具体分析如下: filter()方法将匹配元素集合缩减为匹配指定选择器的元素. filter方法中的参数可以为字符串值,包含供匹配当前元素集合的选择器表达式. 一.filter的参数类型可分为两种 1.传递选择器 $('a').filter('.external') 2.传递过滤