今天学习了一部分java中的内部类。
内部类指将一个类的定义放在另一个类的内部,那它就是一个内部类。
指明一个引用时内部类的类型可以通过"外部类名.内部类名"的写法声明,如果想返回一个内部类的对象可以通过在外部类中写一个返回该内部类的方法或者通过"外部类对象.new 内部类名()"的写法返回内部类对象。
内部类拥有对外部类所有元素的访问权,可以直接访问;而外部类则需要先创建一个内部类的对象,通过这个对象可以访问内部类中的任意成员。
内部类也可以继承类或实现接口,因此也可以向上转型。内部类实现接口是非常有用的写法,给类的设计者提供了一种便利,完全隐藏了实现细节,阻止任何依赖类型的编码。
内部类还可以定义在一个方法里或是任意的作用域内都可以定义内部类。对于一个定义在方法内的内部类,在这个方法的外部该内部类就不能访问了。同样对任何定义的内部类,在它的作用域之外它都是不可访问的,除此之外它与普通类一样。