「获取java类」java 获取类的方法,然后调用

博主:adminadmin 2023-03-19 20:14:09 338

今天给各位分享获取java类的知识,其中也会对java 获取类的方法,然后调用进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么获取某一个Java类的实例个数

首先弄一个类Constant。然后在这个类里面实例化一个全局的静态的ArrayListInteger list = new ArrayList();。然后在那个类的构造函数里面Constant.list.add(1).

最后在你要观察值的地方看这个list的长度。

应该就可以了

java怎么获取类加载

import java.io.File;

import java.io.IOException;

import java.net.URL;

public class MyUrlDemo {

public static void main(String[] args) {

MyUrlDemo muDemo = new MyUrlDemo();

try {

muDemo.showURL();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public void showURL() throws IOException {

// 第一种:获取类加载的根路径 D:\git\daotie\daotie\target\classes

File f = new File(this.getClass().getResource("/").getPath());

System.out.println(f);

// 获取当前类的所在工程路径; 如果不加“/” 获取当前类的加载目录 D:\git\daotie\daotie\target\classes\my

File f2 = new File(this.getClass().getResource("").getPath());

System.out.println(f2);

// 第二种:获取项目路径 D:\git\daotie\daotie

File directory = new File("");// 参数为空

String courseFile = directory.getCanonicalPath();

System.out.println(courseFile);

// 第三种: file:/D:/git/daotie/daotie/target/classes/

URL xmlpath = this.getClass().getClassLoader().getResource("");

System.out.println(xmlpath);

// 第四种: D:\git\daotie\daotie

System.out.println(System.getProperty("user.dir"));

/*

* 结果: C:\Documents and Settings\Administrator\workspace\projectName

* 获取当前工程路径

*/

// 第五种: 获取所有的类路径 包括jar包的路径

System.out.println(System.getProperty("java.class.path"));

}

}

Java中怎样获取类中的方法

//通过包获取类对应的类对象

Class? f= Class.forName("java.io.File");

//通过对象去获取对象对应的类的类对象

//File file=new File("");

Class? f= file.getClass();

//通过类的class属性去获取类的类对象

Class? f= File.class;

//获取方法的数组

Method[] methods= f.getMethods();

循环得到你想要的这 类中的方法,字段,属性

如何获取java类里的私有方法

利用java的反射机制,以下代码:

public class Main {

private void fun(){

System.out.println("this is my private method!");

}

private void fun2(String what) {

System.out.println(what);

}

private static void fun3(){

System.out.println("this is my private static method!");

}

}

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

public class Test {

public static void main(String[] args) {

try {

Class? _class = Class.forName("Main");//名字填完整的包名.类名  ,示例没有包因此只填类名

Object object = _class.newInstance();

Method method = _class.getDeclaredMethod("fun");//fun无参数,因此只要方法名

method.setAccessible(true);//私有方法设置可访问 

method.invoke(object, new Object[0]);

Method method2 = _class.getDeclaredMethod("fun2",String.class);//有参数,需要参数的类别

method2.setAccessible(true);

method2.invoke(object, new String("test"));//传参数的值

Method method3 = _class.getDeclaredMethod("fun3");

method3.setAccessible(true);

method3.invoke(object,new Object[0]);//静态方法,object传null

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

 catch (InstantiationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SecurityException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (NoSuchMethodException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalArgumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (InvocationTargetException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

获取java类的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 获取类的方法,然后调用、获取java类的信息别忘了在本站进行查找喔。