内容思路来自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