码迷,mamicode.com
首页 > 其他好文 > 详细

内部类基础操作

时间:2018-05-08 19:17:57      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:copyright   string   spl   ash   静态成员   非静态内部类   static   对象   aos   

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

}

 

内部类基础操作

标签:copyright   string   spl   ash   静态成员   非静态内部类   static   对象   aos   

原文地址:https://www.cnblogs.com/hechengwen/p/9009764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!