「java通过类名获取类」java通过类名获取类对象

博主:adminadmin 2023-03-20 19:56:08 209

本篇文章给大家谈谈java通过类名获取类,以及java通过类名获取类对象对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java面试题:获得一个类的类对象有哪些方式

给你介绍3种获得类对象方式: 

第一种方式:通过类本身来获得对象

Class classname =  this .getClass();

第二种方式:通过子类的实例获取父类对象

ClassName cn =  new  ClassName();

UserClass = cn.getClass();

Class SubUserClass = UserClass.getSuperclass();

第三种方式:通过类名加.class获取对象

Class ForClass = **.**.ClassName. class ;(类在包中的路径加. class )

第四种方式:通过类名的字符串获取对象

Class ForName = Class.forName( "**.**.ClassName" );

这种方式在jdbc中常用到。

java里如何根据类名(String)返回类

你说的根据一个字符串要得到一个类,在Java中只能使用反射机制了。反射机制很有趣的,猪名的框架spring就是大量用的反射。你可以百度Java反射机制,文章很多的。如果你不用反射技术,只能如下:

public Object getClassByName(String className){

if(className.equals("A")){

return new A();

}else if(className.equals("B")){

return new B();

}

}

java 输入类名获取父类名

java中是可以多继承的,所以子类获得父类的类名,可以使用getSuperClass()这个方法来获得,示例如下:

public class Test1 extends Date {

public static void main(String[] args) {

new Test1().test();//测试获得父类类名方法

}

public void test() {

System.out.println(Test1.class.getSuperclass().getName());//打印父类类名,使用getSuperclass()方法

}

}

java怎么获取src目录下所有的包名,类名,方法名 以及通过一个类名获得该类下的所有方法名

可以使用以下代码来获取src目录下所有的包名,类名,方法名 以及通过一个类名获得该类下的所有方法名。

import java.io.File;

import java.lang.reflect.Method;

public class LoopApp {

public static void main(String[] args) throws Exception {

String packageName = "";

File root = new File(System.getProperty("user.dir") + "\\src");

loop(root, packageName);

}

public static void loop(File folder, String packageName) throws Exception {

File[] files = folder.listFiles();

for (int fileIndex = 0; fileIndex files.length; fileIndex++) {

File file = files[fileIndex];

if (file.isDirectory()) {

loop(file, packageName + file.getName() + ".");

} else {

listMethodNames(file.getName(), packageName);

}

}

}

public static void listMethodNames(String filename, String packageName) {

try {

String name = filename.substring(0, filename.length() - 5);

Object obj = Class.forName(packageName + name);

Method[] methods = obj.getClass().getDeclaredMethods();

System.out.println(filename);

for (int i = 0; i methods.length; i++) {

System.out.println("\t" + methods[i].getName());

}

} catch (Exception e) {

System.out.println("exception = " + e.getLocalizedMessage());

}

}

}

Java中类名.class和对象.getclass有什么区别?

类名.class 的方式更加安全,例如当你要获取一个接口的class时,可以使用 类名.class 的方式获取

但此时就不能通过 对象.getClass 的方式获取了,因为接口是没有实例对象的,接口只有实现类对象,通过这种方式获取到的是接口的实现类的class,而非是接口的class

再者就是对象声明的类型未必是对象本身真正的类型,通过对象获取class容易产生混乱,因此尽量使用更加安全的方式

java如何通过类型名得到具体的类型

只需要得到类型

Class a=Class.forName("String");

Class b=Class.forName("Date");

如果还需要根据得到的类型强制转换的话jdk1.5之前的版本不支持,1.5以后可以使用泛型

java通过类名获取类的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java通过类名获取类对象、java通过类名获取类的信息别忘了在本站进行查找喔。