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());
    }
    }



  • 相关阅读:
    Hard Rock
    Codeforces Round #416 (Div. 2) B. Vladik and Complicated Book
    codeforces 793B. Igor and his way to work
    codeforces 1B Spreadsheets
    HDU 1069 Monkey and Banana
    codeforces 2B The least round way
    【机器学习】 通俗说拟合
    python-八皇后问题
    python-核心知识思维导图
    python-@property 属性
  • 原文地址:https://www.cnblogs.com/linxyz/p/2398091.html
Copyright © 2011-2022 走看看