如何通过类名得到类的全名

问题描述

能用的参数只有一个类名对应的字符串比如,现在知道String这类的类名,如何由这个字符串,得到String类的全名,即:java.lang.String 问题补充:hudingchen 写道

解决方案

如果仅仅是知道类的名称,而不确定类是否加载,据我所知是无法实现的。借助反射和类加载器可以获得,但是必须保证你的类已经加载了,你可以看看Class 里的getResource()方法和ClassLoader里的getSystemResources方法。你仅仅知道类的名称,同名的在不同包里面的类你该怎么区分,不知道你想过没有。
解决方案二:
你是找包名吧?试试Package.getPackages();
解决方案三:
通过反射机制啊
解决方案四:
那就扫一遍class文件夹下面的所有class?
解决方案五:
你这个需求就是eclipse中的 open type(ctrl+shift+t)的功能,自己要自定义,你参考下这个吧 http://www.ibm.com/developerworks/cn/opensource/os-cn-eclipse-opentype/
解决方案六:
aa.myclass.Testbb.myclass.Testcc.myclass.Test如果指定 Test,你要取哪个呢?再说你这个需求有啥用啊

时间: 2024-10-25 12:18:50

如何通过类名得到类的全名的相关文章

C# 反射 通过类名创建类实例

"反射"其实就是利用程序集的元数据信息. 反射可以有很多方法,编写程序时请先导入 System.Reflection 命名空间. 1.假设你要反射一个 DLL 中的类,并且没有引用它(即未知的类型): Assembly assembly = Assembly.LoadFile("程序集路径,不能是相对路径"); // 加载程序集(EXE 或 DLL) object obj = assembly.CreateInstance("类的完全限定名(即包括命名空间

Java JUC之Atomic系列12大类实例讲解和原理分解

在java6以后我们不但接触到了Lock相关的锁,也接触到了很多更加乐观的原子修改操作,也就是在修改时我们只需要保证它的那个瞬间是安全的即可,经过相应的包装后可以再处理对象的并发修改,以及并发中的ABA问题,本文讲述Atomic系列的类的实现以及使用方法,其中包含: 基本类:AtomicInteger.AtomicLong.AtomicBoolean: 引用类型:AtomicReference.AtomicReference的ABA实例.AtomicStampedRerence.AtomicMa

python3 类的属性、方法、封装、继承及小实例

Python 类 Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法. 对象可以包含任意数量和类型的数据. python类与c++类相似,提供了类的封装,继承.多继承,构造函数.析构函数. 在python3中,所有类最顶层父类都是object类,与java类似,如果定义类的时候没有写出父类,则object类就是其直接父类.  类定义 类定义语法格式如下: class ClassName:    <state

python 类学习笔记

一.面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之外.类变量通常不作为实例变量使用. 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据. 方法重载:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重载. 实例变量:定义在方法中的变量,只作用于当前实例的类

Swift结构体与类

在面向过程的编程语言(如C语言)中,结构体用得比较多,但是面向对象之后,如在C++和Objective-C中,结构体已经很少使用了.这是因为结构体能够做的事情,类完全可以取而代之.而Swift语言却非常重视结构体,把结构体作为实现面向对象的重要手段.Swift中的结构体与C++和Objective-C中的结构体有很大的差别,C++和Objective-C中的结构体只能定义一组相关的成员变量,而Swift中的结构体不仅可以定义成员变量(属性),还可以定义成员方法.因此,我们可以把结构体看做是一种轻

用于获得硬盘物理信息的类

介绍: 有很多时候我需要知道机器的一些物理信息(比如激活技术),所以我就利用放高考假的时间,封装了一个可以获得硬盘的物理信息的类,方便大家.此类在我的机器上测试效果如下: CGetMachineInfo类简介: 类名: CGetMachineInfo 类中的一些要说明的函数: 功能 int ReadPhysicalDriveInNT (void) 在NT内核系统下读取硬盘的物理信息 int ReadDrivePortsInWin9X (void) 在9X内核系统下读取硬盘的物理信息 int Re

C++类的多重继承与虚拟继承

在过去的学习中,我们始终接触的单个类的继承,但是在现实生活中,一些新事物往往会拥有两个或者两个以上事物的属性,为了解决这个问题,C++引入了多重继承的概念,C++允许为一个派生类指定多个基类,这样的继承结构被称做多重继承. 举个例子,交通工具类可以派生出汽车和船连个子类,但拥有汽车和船共同特性水陆两用汽车就必须继承来自汽车类与船类的共同属性. 由此我们不难想出如下的图例与代码: 当一个派生类要使用多重继承的时候,必须在派生类名和冒号之后列出所有基类的类名,并用逗好分隔. //程序作者:管宁//站

方法-类的使用问题,请教!

问题描述 类的使用问题,请教! Using System;namespace accessTest{ class testAccess() { private int m=10; public int n=20; } class Class1 { private void Page_Load(object senderSystem.EventArgs e) { testAccess ta=new testAccess(); //ta.m=12;此代码是错误的,不能访问变量M,因为它为私有变量 t

ServiceLoader服务提供者模式,实现动态插件加载,类责任链模式

Edit ServiceLoader服务提供者模式,实现动态插件加载,类责任链模式 ServiceLoader的功能比ClassLoader简单,它可以帮我们获取所有实现了某接口或基类的类.当然前提是ClassLoader已经加载过的类.举个例子: 定义一个接口: public interface IService { public String sayHello(); public String getScheme(); } 以及两个实现类: public class HDFSService