zoukankan      html  css  js  c++  java
  • java中的内部类初识

    定义:将AClass类的定义放在BClass类的定义内部,那么AClass就是内部类,而BClass就是对应的外部类。

    内部类的使用与普通类一样。但是,如果想从外部类的非静态方法之外的任意位置创建内部类的对象,那么必须像在main方法中那样,具体地指明这个对象的类型:格式为:OuterClassName.InnerClassName

    举例说明:

    public class TestInnerClass {

    class InnerClass {
    private int i;

    public InnerClass() {
    this.i = 5;//这里的this代表的是InnerClass
    }

    public int getI() {
    return i;
    }
    }

    private static TestInnerClass _instance;

    private TestInnerClass() {
    }
    /**
    * 在静态方法中创建内部类对象
    * 在创建内部类对象之前,必须实例化外部类
    *
    @return
    */
    public static TestInnerClass getInstance() {
    if (null == _instance) {
    _instance = new TestInnerClass();
    }
    return _instance;
    }

    public static InnerClass getInnerClass()
    {
    return _instance.new InnerClass();
    }
    /**
    * 在非静态方法中创建内部类对象
    * 直接使用内部类名称即可创建内部类对象
    *
    @return
    */
    public InnerClass getSecInnerClass()
    {
    return new InnerClass();
    }

    /**
    *
    @param args
    */
    public static void main(String[] args) {
    //实例化内部类的方法
    TestInnerClass ti = new TestInnerClass();
    TestInnerClass.InnerClass inn = ti.new InnerClass();
    System.out.println(inn.getI());
    }
    }



  • 相关阅读:
    迪杰斯特拉(Dijkstra)算法描述及理解
    KMP初步
    网络流初步
    Cutting Codeforces Round #493 (Div. 2)
    优先队列小结
    树状数组初步理解
    分块思想
    树状数组-逆序对-HDU6318
    线段树
    8.12.5
  • 原文地址:https://www.cnblogs.com/linxyz/p/2398091.html
Copyright © 2011-2022 走看看