获取当前类的一些东西(当前路径,claspath路径,类,类名)

来源:互联网 发布:microsoft office软件 编辑:程序博客网 时间:2024/06/06 02:52

1、获取类、类名
在类里面,this.getClass()获取当前类,类外,实例.getClass(),或者知道类名:类名.class;不知道类名就先获取类名:this.getClass().getName();Test.class.getName()

2、获取当前文件–》当前文件路径,当前文件所属类路径的所有文件–》类路径

思想是先获取类—->类.getResource(“”);获取当前文件(类要是当前类,其他类就是其他的类文件)
—–>类.getResource(“/”):获取当前类文件所属类路径的所有文件(有点难懂,就是类路径下的所有文件,而不只是一个路径)

获取路径,思想就是先获取文件—->然后文件.getPath(),就是路径(一个String)
this.getClass().getResource(“”).getPath();

有时候,这些获取路径的通常在静态块中,获取类路径不必通过当前实例,可以通过一些基本的继承的父类,比如说
Object(所有类都是继承于这个类),就可以通过Object.class.getResource(“/”).getPath()获取到了
程序如下:

    public class Test {    Class claz = this.getClass();    String clazz = this.getClass().getName();    public static void main(String[] args){        //获取当前类文件        System.out.println(Test.class.getResource(""));        //获取当前类文件的路径        System.out.println(Test.class.getResource("").getPath());        //获取类路径下的所有文件        System.out.println(Test.class.getResource("/"));        //获取类路径        System.out.println(Test.class.getResource("/").getPath());        //平时遇到不知道类名,也在static块下不能用this获取类的情况下,我们可以用Object这个类        System.out.println(Object.class.getResource("/").getPath());        //如果不知道类名,通过实例.getClass()获取        Test t = new Test();        System.out.println(t.getClass());        //等同于上        System.out.println(t.claz);        System.out.println(t.clazz);        System.out.println(Test.class.getName());    }}

程序结果

原创粉丝点击