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

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

程序结果

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值