1.内部类
内部类的类体中不可以声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。如:
public class A{
A(){
}
B b;
public void show{
b.f();
}
}
class B{
void f(){
System.out.println("哈哈");
}
}
2.匿名类
创建子类对象时,除了使用父类的构造方法外还有类体,此类体被认为是一个子类去掉类声明后的类体,称作匿名类。
假设B是类,那么下列代码就是用B的一个子类(匿名类)创建对象:
new B(){
匿名类的类体
};
注意:匿名类的类体中不可以声明static成员变量和static的方法。