下面是一个获取当前main class包名的示例代码: publicclassMainClassDemo{publicstaticvoidmain(String[]args){StringpackageName=Thread.currentThread().getStackTrace()[1].getClass().getPackage().getName();System.out.println("当前main class包名:"+packageName);}} 1. 2. 3. 4. 5. 6. 在上面的示例...
上面的代码中,我们利用当前线程的getStackTrace()方法来获取当前线程的栈轨迹信息。 步骤四:获取main类 最后,我们需要从栈轨迹信息中找到main类,这可以通过以下代码来实现: for(StackTraceElementelement:stackTrace){if("main".equals(element.getMethodName())){StringmainClass=element.getClassName();System.out.prin...
public static void main(String[] args) throws Exception {String jarPath = "/xxx/TopSpeedWindowing.jar";JarAnalyzer jarAnalyzer = new JarAnalyzer(jarPath);log.info("jar包所有属性:");jarAnalyzer.getJarAttrs().forEach((key, value) -> {log.info("key={},value={}", key, value);});log.i...
XXX.jar运行的时候,Java.exe调用GetMainClassName函数,该函数先获得JNIEnv实例然后调用Java类Java.util.jar.JarFileJNIEnv中方法getManifest()并从返回的Manifest对象中取getAttributes("Main-Class")的值即jar包中文件:META-INF/MANIFEST.MF指定的Main-Class的主类名作为运行的主类。之后main函数会调用Java.c中LoadC...
因为Java有多态现象,所以一个引用数据类型的变量的编译时类型与运行时类型可能不一致,因此如果需要查看这个变量实际指向的对象的类型,需要用getClass()方法 public static void main(String[] args) { Object …
Class类的方法 1. getClasses 和 getDeclaredClasses getDeclaredClasses 获取到类里所有的的class ,interface 包括了private ,protected,default,public 例子: 定义一个Payment的基本类如下 public class Payment { protected class InnerPayment{ } String name; ...
public static void main(String[] args) { // 创建Person对象 Person person = new Person("Alice", 25); // 调用get方法获取属性值 String name = person.getName(); int age = person.getAge(); // 打印属性值 System.out.println("Name: " + name); ...
通过Class对象,我们可以获取类的名称、包名、修饰符、父类、接口、构造方法、成员方法、成员变量等信息。 例如,我们可以通过getClass方法获取一个对象的Class对象,并使用Class对象的getName方法获取该对象所属的类的名称。示例如下: ``` public class Person public static void main(String[] args) Person person =...
例如:this.getClass().newInstance(); //用缺省构造函数创建一个该类的对象 this.getClass().getInterfaces(); //获得此类实现的接口信息 this.getClass().getMethods();//获得此类实现的所有公有方法 Class.forName(" ... JDBC driver class name..."); // Class类的静态方法forName, 向Div...
首先getClass是个final,它不可能重写 其次getClass是个native的方法具体实现是基于原生的本地类方法,源码中并没有体现 我的猜想本地方法中一定是读取了当前对象的类信息。public static void main(String[] args) throws IOException { B b=new B();b.echo();} static class A{ private String ...