• “类名.this” 与 “类名.class”


    类名.this

    “类名.this”的语法在Java语言中叫做“qualified this”。相关规定在这里:Chapter 15. Expressions - Qualified this这个语法的主要用途是:在内部类的方法中,要指定某个嵌套层次的外围类的“this”引用时,使用“外围类名.this”语法。例如说:

    class Foo {
      class Bar {
        Foo getFoo() {
          return Foo.this;
        }
      }
    }
    

    在Foo.Bar类中的getFoo()方法中,如果直接写“this”的话所指的是这个Foo.Bar类的实例,而如果要指定外围的Foo类的this实例的话,这里就得写成Foo.this。特别的,如果在上例的getFoo()方法中写Bar.this的话,作用就跟直接写this一样,指定的是当前的Foo.Bar类实例。

    类名.class

    我们知道在java中,一个类在被加载的时候虚拟机就会自动的生成一个这个类的一个Class类型的“类对象”,每个类都对应着一个这样的类对象,通过这个Class类型的类对象,我们就能够使用“内省与反射”机制,访问一个类的信息,比如:对应类中的方法有哪些,成员域有哪些等等;获取一个类的“类对象”的方法之一就是通过使用 类名.class 这个方式返回一个Class类型的对象,其他的获取这个Class对象的方法如下:

    1. 利用对象调用getClass()方法获取该对象的Class实例
    2. 使用Class的静态方法forName(),用类的名字获取一个Class实例
    3. 运用.calss的方式获取Class实例,对基本数据类型的封装类,还可以采用.TYPE来获取对应的基本数据类型的Class实例。

    自已的理解(不知道对不对):
    就相当于如果需要实例化这个类时,所需要的信息都包括在里面,有函数啊,变量有几个啊,什么的。


  • 相关阅读:
    String常用方法
    测试
    mongo aggregate group, group使用
    jquery ajax封装添加默认错误提示
    js时间格式化
    本地项目导入远程git仓库
    java设计模式:适配器模式
    mysql if示例
    hibernate指定查询字段
    js window resize延时
  • 原文地址:https://www.cnblogs.com/laohaozi/p/12537706.html
Copyright © 2020-2023  润新知