【JavaSE】内部类的使用说明

在java中我们经常会用到内部类,之前写过demo,今天发出来,以备将来日后需要


package com.huat.InnerClass;


/*
*@author: 
*@see功能介绍:内部类
*@vesion版本号:JDK1.8
*2018年1月13日
*
*
*内部类的作用:
*   1.提供更好的封装,只能让外部类直接访问,
*不允许同一个包中的其他类直接访问
*   2.内部类可以直接访问外部类的私有属性,
*内部类会被当作外部类的成员,但是外部类不能访问内部类的内部属性
*
*使用场合:内部类职位外部类提供服务的情况下使用
*   
*成员内部类
*   1.非静态内部类:
*           必须寄存在外部类中,非静态的内部类对象单独属于外部类某个对象
*   2.静态内部类:不需要先定义外部类
*匿名内部类
*局部内部类:
*   定义在方法中
*/
public class OutterClass {

    public static void main(String[] args) {
        Face f = new Face();
        Face.Nose n = f.new Nose();
        n.breath();

        Face.Ear e = new Face.Ear();
        e.listen();
    }

}

class Face {
    private int type = 100;
    static String color = "fffff";

    class Nose {
        String type = "瓜子脸";

        public void breath() {
//          通过外部类.this.属性访问外部属性
            System.out.println("type " + Face.this.type);
            System.out.println("呼吸...");
            System.out.println(color);
        }
    }
    /**
     * 静态内部类看作外部类的一个静态成员
     * 
     */
    static class Ear {
        public void listen() {

//          System.out.println("type" + type); //静态内部类不能访问外部普通属性
            System.out.println("color " + color);
        }
    }

}

猜你喜欢

转载自blog.csdn.net/alearn_/article/details/80022910