首页 > 编程语言 > 详细

java#内部类和嵌套类

时间:2019-08-09 15:36:48      阅读:113      评论:0      收藏:0      [点我收藏+]

内容思路来自Java编程思想,个人读书做的笔记,仅个人复习之用,故他人参考请自行辨别内容是否有错误。


 

在类的类部可以定义类,叫做内部类。如果这个内部类被static修饰,此时内部的类叫做嵌套类。

内部类用在哪里,解决了什么问题?


 

内部类中一定包含的有外部类的引用,即Outer.this,

故,创建内部类,必须拥有外部类的实例。

-

public class Outer {
    
    private String foo = "kitty";
    
    class Inner{
        Outer getOuter(){
            // 在内部类中,可以通过dot this语法引用外部对象
            // 即 Outer.this
            return Outer.this;
        }
        
        public void bar(){
            // 内部类可以访问外部类的任意属性
            System.out.println(foo);
        }
    }

    public static void main(String[] args) {
        // 同过外部类dot内部类的方式 声明一个引用
        Outer.Inner inner = null;
        
        // 通过外部类实例dot new的方式创建一个内部类的实例
        inner = new Outer().new Inner();
    }
}

- 


 

嵌套类:看一种单例的写法。

-

public class Singleton {
    private static Singleton instance = null;

    private static class Inner{
        static{
            instance = new Singleton();
        }
    }

    public static Singleton getInstance(){
        return instance;
    }
}

-

其实,单例其他的写法也有其他的

-

public class Singleton {
	private Singleton(){}
	private static class Inner{
		private static final Singleton INSTANCE = new Singleton();
	}
	
	public static Singleton getInstance(){
		return Inner.INSTANCE;
	}
} 

- 

 

-

java#内部类和嵌套类

原文:https://www.cnblogs.com/luohaonan/p/11326903.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!