内容思路来自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; } }
-
-
原文:https://www.cnblogs.com/luohaonan/p/11326903.html