定义:在类的内部再定义一个类
特点:内部类可以直接访问外部类中的成员变量,即使是私有的。
外部类要想访问内部类中的成员变量,必须先创建内部类对象。
什么时候使用内部类:B类是A类的一部分,且B单独存在没有意义。
内部类的分类:
- 成员内部类
- 静态内部类
- 局部内部类
- 匿名内部类
获取成员内部类对象的方式: - 在外部类中定义返回内部类对象的方法
- 外部类命.内部类命 对象名 = 外部类对象.内部类对象;
class Out{String name;class In{}
}
class Test{public static void main(){Out.In io = new Out().new In()}
}
函数返回创建的对象
class Out{String name;private class In{}public In getInner(){return new In();}
}
class Out{String name;private class In{}public In getInner(){return new In();}
}
class Test{public static void main(){Object io = new Out().getInner();}
}
静态内部类
匿名内部类