「获取java类」java 获取类的方法,然后调用
今天给各位分享获取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类的信息别忘了在本站进行查找喔。