java 如何通过对象获取对象类全名?
java是不支持在运行中进行强制转化的! 如果事先知道类型,可以通过强制转化实现! 如果不知道! 可以采用这种方式! \x0d\x0aString className = obj.getClass().getName(); 得到类名\x0d\x0a然后:\x0d\x0aA a = (A)Class.forName(className).newInstance(); \x0d\x0a//上面这句话的意思是,forName(className):静态加载className这个类; \x0d\x0a// .newInstance(),实例化一个对象\x0d\x0a// A 代表你知道的这人类或者这个类的父类, 把强制转化成你所要的对象。\x0d\x0a这和你 \x0d\x0aA a = new A(); \x0d\x0a是一样的效果!
java父类如何获得所有子类的名称
java中子类可以获取父类,是因为java语言规范强制要求所有非object类必须有父类,类在编译的时候,父类唯一确定,编译器会将父类的引用记录在class文件里面。
反过来,编译器不会给你记录子类,想要获取,只能自己根据情况实现。比如在加载一个类的时候添加判断,或者强制要求这些类满足特定的条件,通过这个条件去获取类的名称
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 cl = Class.forName(str);//加载类
// 获取类名
String lm = cl.getSimpleName();
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 如何找到全部类的类名
方法一:
java.util.jar.JarFile
JarFile jar = new JarFile(“path”);
Enumeration enumeration = jar.entries();
while(enumeration.hasMoreElements()){
System.out.println(enumeration.nextElement());
}
你这样输出一下,看结果就知道里面的内容是什么了。
就是在循环中做字符串的前端匹配。
方法二,前提是在你的程序中可以找到这个jar
URL url = Test.class.getResource(“/org/demo”);
URI uri = url.toURI();
File jar = new File(uri);
String[] names = jar.list();
for (int i = 0; i names.length; i++) {
System.out.println(names[i]);
}