内部类和外部类之间的调用方式:
1、内部类调用外部类成员-------当成自己的成员来用,直接使用。
2、外部类调用内部类-------在自己某个方法中,创建一个内部类对象 Inner in = new Inner();
3、在测试类中直接调用内部类------Outer.Inner oi = new Outer().new Inner(); ---------等于外部类对象.内部类对象
静态内部类
内部类定义在成员位置上,static修饰,当内部类被static修饰后,只能访问外部类中的static成员,
外部类访问静态内部类:new 外部类().内部类().内部类方法()
当内部类中定义了static静态成员,该内部类也必须是static的
匿名内部类:没有名字的内部类。就是内部类的简化形式。一般只用一次就可以用
前提:内部类必须继承一个类或者实现接口。
格式: (new 类名或者接口名() {重写类或者接口中的方法 也可以自己定义新的方法 });
内部类理解:是一个继承了类或者实现了接口的匿名的子类对象。
什么时候使用?一般来说,当接口或者抽象类中的方法在3个以下的时候,考虑用匿名内部类。在以后看到一个方法接收的形式参数是一个抽象类或者接口的时候,也可以考虑使用。 |
|