Java-- 使用 .this与.new

  如果你需要生成对外部类对象的引用,可以使用外部类的名字后面紧跟圆点和this。这样产生的引用自动的具有正确的类型,这一点在编译期就被知晓并受到检查,因此没有任何运行时开销。下面展示如何使用.this

 1 package innerclasses;
 2 
 3 public class DoThis {
 4     void f(){
 5         System.out.println("DoThis.f()");
 6     }
 7     
 8     public class Inner{
 9         public DoThis outer(){
10             return DoThis.this;
11         }
12     }
13     
14     public Inner inner(){
15         return new Inner();
16     }
17     
18     public  static void main(String[] args){
19         DoThis dt = new DoThis();
20         DoThis.Inner dti = dt.inner();
21         dti.outer().f();
22     }
23     
24 }


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

如下
package innerclasses;

public class DoNew {
    public class Inner{
         Inner(){
            System.out.println("DoNew.Inner");
        }
    }
    public static void main(String[] args){
        DoNew dn = new DoNew();
        DoNew.Inner dni = dn.new Inner();
    }
}

 



 

转载于:https://www.cnblogs.com/fxyfirst/p/3791877.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值