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

本文介绍了在Java中如何获取类及其资源路径的方法,包括使用getClass()获取当前类信息、利用类路径获取文件及资源的具体路径等内容。

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());
    }
}

程序结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值