zoukankan      html  css  js  c++  java
  • 内部类

    1、 如果要生成对外部类对象的引用,用.this,用法如下:

     1 public class DotThis {
     2     void f() {
     3         System.out.println("DotThis.f()");
     4     }
     5 
     6     public class Inner {
     7         public DotThis outer() {
     8             return DotThis.this; // A plain "this" would be Inner's "this"
     9         }
    10     }
    11 
    12     public Inner inner() {
    13         return new Inner();
    14     }
    15 
    16     public static void main(String[] args) {
    17         DotThis dt = new DotThis();
    18         DotThis.Inner dti = dt.inner();
    19         dti.outer().f();
    20     }
    21 }

    2. 如果是在外部类的非静态方法之外的任意位置创建某个内部类的对象,那么必须要OutClassName.InnerClassName。

    3. 如果要告知某些其它对象去创建内部对象,必须使用外部类的对象来创建内部类对象,在New表达式中提供对其它外部类对象的引用。必须是外围类对象.new,而不能是外围类.new 。 需要注意的是,在创建外围类对象之前,不可能创建内部类的对象(嵌套类除外)。 如下:

    1 public class DotNew {
    2     public void inner() {
    3         DotThis dn = new DotThis();
    4         DotThis.Inner dni = dn.new Inner();
    5     }
    6 }
  • 相关阅读:
    day12_函数
    day12_游标
    day12_序列——重置序列
    day12_序列——oracle主键自动增加
    day12_B2B用户禁止PLSQL登录
    七月未央,安之若素
    php----显示中文乱码的问题
    C#--中实现邮件发送
    C#--使用存储过程
    C#--之文件操作
  • 原文地址:https://www.cnblogs.com/clara/p/2680441.html
Copyright © 2011-2022 走看看