总共分为四种:
1.成员内部类
实例化成员内部类分两步
//1、实例化外部类
Outer outObject = new Outer();
//2、通过外部类调用内部类
Outer.Inner inObject = outObject.new Inner();
2.局部内部类
3静态内部类(使用static修饰的内部类)
static的用法:一般只修饰变量和方法,平常不可以修饰类,但是内部类却可以被static修饰。
1、static修饰成员变量:整个类的实例共享静态变量
2、static修饰方法:静态方法,只能够访问用static修饰的属性或方法,而非静态方法可以访问static修饰的方法或属性
3、被static修饰了的成员变量和方法能直接被类名调用。
4、static不能修饰局部变量,切记,不要搞混淆了,static平常就用来修饰成员变量和方法
4.匿名内部类:
如果一个对象只要使用一次,那么我们就是需要new Object().method()。 就可以了,而不需要给这个实例保存到该类型变量中去。
例如
public class Test {
public static void main(String[] args) {
//new出来的Apple实例赋给apple变量保存起来,这样写
Apple apple = new Apple();
apple.eat();
//这种就叫做匿名对象的使用,不把实例保存到变量中。
new Apple().eat();
}
}
class Apple{
public void eat(){
System.out.println("我要被吃了");
}
}