内部类基础操作

Posted hechengwen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内部类基础操作相关的知识,希望对你有一定的参考价值。

/**
 * Copyright (C), 2017,jumore Tec.
 * Author: hechengwen
 * Version:
 * Date: 2018/5/4 9:23
 * Description:
 * Others:
 */
public class HashMapTest {

    private static String _name = "xiaohe";
    public int _age = 25;

    public static void main(String[] args) throws Exception {
        new HashMapTest().display();
    }

    private static void outerClass(){
        System.out.println("我是外部类静态方法");
    }

    /**
     * 静态内部类
     */
    static class InnerClass1{
        public static String name = "xiaosan";
        public void dispaly(){
            // 静态内部类可以直接访问外部类静态变量 ,即使是private的,不能访问非静态的成员变量和方法
            System.out.println("inner class1 : " + _name);
            outerClass();
        }
    }

    /**
     * 非静态内部类
     */
    class InnerClass2{
        // 非静态内部类,不能定义静态成员
        public String name = "xiaosi";
        public void display(){
            // 非静态内部类可以直接访问外部类的任何成员
            System.out.println("inner class2 : " + _name + " , age :" + _age);
        }
    }

    public void display(){
        System.out.println("外部类中可以直接访问静态内部类变量:" + InnerClass1.name);

        // 外部类可以直接通过new 内部类 来创建对象,不需要依赖外部类实例
        new InnerClass1().dispaly();

        // 创建非静态内部类实例方式:外部类.内部类 a = new 外部类().new 内部类();
        HashMapTest.InnerClass2 innerClass2 = new HashMapTest().new InnerClass2();
        innerClass2.display();
    }

}

 

以上是关于内部类基础操作的主要内容,如果未能解决你的问题,请参考以下文章

错误:这个片段内部类应该是静态的 [ValidFragment]

片段 - 全局视图变量与本地和内部类侦听器和内存泄漏

为啥片段类应该是公开的?

内部类基础操作

Java基础摘要

ForegroundService没有从片段开始?