《java编程思想》学习笔记——内部类三

本文介绍了如何在Java中使用.this语法引用外部类对象,并通过.new语法创建内部类实例。这两种方式有助于更好地组织代码结构,尤其是在涉及内部类与外部类交互的情况下。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

10.3使用.this与.new

1、如果你需要生成对外部类对象的引用,可以使用外部类的名字后面紧跟圆点和this。

public class DotThis
{
    void f()
    {
        System.out.print("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();
    }
}

2、有时你可能想要告知某些对象,去创建其某个内部类的对象。要实现此目的,你必须在new表达式中提供对其他外部类对象的引用,这是需要使用.new语法。

public class DotNew
{
    public class Inner {}
    public static void main(String[] args)
    {
        DotNew dn = new DotNew();
        DotNew.Inner dni = dn.new Inner();
    }
}

(1)要直接创建内部类的对象,不能直接引用外部类的名字DotNew,而是必须使用外部类的对象来创建内部类对象。

(2)在拥有外部类对象之前是不可能创建内部类对象的。

(3)如果 创建的是嵌套类(静态内部类),那么它就不需要对外部类对象的引用。

转载于:https://my.oschina.net/u/2427561/blog/1577056

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值