首页 > 其他分享 >内部类的 .this 和 .new 关键字

内部类的 .this 和 .new 关键字

时间:2023-02-04 18:34:57浏览次数:42  
标签:outer 内部 DotThis 关键字 Inner new dt public

1.   .this

.this关键字可以在内部创建外部类的引用

public class DotThis {
    void f() {System.out.println("DotThis.f()");}
    public class Inner{
        public DotThis outer() {
            return DotThis.this;
        }
    }
    public Inner inner() {
        return new Inner();
    }
    public static void main(String[] args) {
        DotThis dt = new DotThis();
        DotThis.Inner dti = dt.inner();
        dti.outer().f();
    }
}

在内部类的outer方法中,通过类名DotThis.this可以返回外部类的引用;

2.  .new

.new可以通过类的实例来直接创建内部类,因为内部类不能单独创建,必须依赖一个实例才可以创建.

public class DotThis {
    void f() {System.out.println("DotThis.f()");}
    public class Inner{
        public DotThis outer() {
            return DotThis.this;
        }
    }
    public Inner inner() {
        return new Inner();
    }
    public static void main(String[] args) {
        DotThis dt = new DotThis();
        DotThis.Inner dti = dt.inner();
        dti.outer().f();
    }
}

可以看到,通过dt这个外部类,直接.new就可以创建Inner内部类.

 

标签:outer,内部,DotThis,关键字,Inner,new,dt,public
From: https://www.cnblogs.com/lishuaiqi/p/17092102.html

相关文章

  • new和malloc的区别
    从表层调用来看:1.名称/语法一个是操作符,一个是调用函数(cdecl)int*v1=newint;//无需指定内存块的大小int*v2=(int*)malloc(sizeof(int));//需显式指出内存块的......
  • Python中的关键字的用法
    Python有哪些关键字Python常用的关键字and,del,from,not,while,as,elif,global,or,with,assert,else,if,pass,yield,break,except,import,print,clas......
  • 内部类
    内部类内部类就是在一个类的内部再定义一个类,比如,A类中定义一个B类,那么B类对于A类来说就是内部类,A类对于B类就是外部类;成员内部类静态内部类局部内部类匿名内部类......
  • Java super关键字
    java中的super关键字是一个引用变量,用于引用直接父类对象。每当创建子类的实例时,父类的实例被隐式创建,由super关键字引用变量引用。javasuper关键字的用法如下:super......
  • Linux基础:linux常见岗位、计算机的种类与服务器、服务器品牌、服务器内部组成、服务器
    目录一、linux常见岗位二、计算机的种类与服务器三、服务器品牌四、服务器内部组成五、服务器磁盘阵列六、linux简介1、什么是linux2、linux发展史3、Linux系统的特点4、目......
  • Java this关键字
    在java中,this关键字有很多种用法。在java中,这是一个引用当前对象的引用变量。javathis关键字的用法如下:this关键字可用来引用当前类的实例变量。this关键字可用于调......
  • Java static关键字
    java中的static关键字主要用于内存管理。我们可以应用javastatic关键字在变量,方法,块和嵌套类中。static关键字属于类,而不是类的实例。静态(static)可以是:变量(也称......
  • lstm内部讲解
    LSTM的内部结构遗忘门输入门细胞状态更新分析输出门参考:https://blog.csdn.net/qq_43894221/article/details/126031830https://blog.csdn.net/weixin_5507364......
  • Python正则表达式匹配一段英文中包含关键字的句子
    1.问题/需求在含有多行文字的英文段落或一篇英文中查找匹配含有关键字的句子。例如在以下字符串:text='''TodayIregisteredmypersonalbloginthecnblogsandw......
  • STM32CubeMX | STM32使用HAL库的ADC多通道数据采集(DMA+非DMA方式)+ 读取内部传感器温度
    STM32CubeMX|STM32使用HAL库的ADC多通道数据采集(DMA+非DMA方式)+读取内部传感器温度ADC模式介绍:扫描模式:使用STM32CUBEMX配置了多通道后,这一项默认开启且无法设置成关闭......