java中有四种内部嵌套类
1. 静态成员类
如果成员类不需要访问外围的实例,则使用静态成员类
2.非静态成员类
当非静态内部类中的方法有引用外部实例,和外围的实例紧密的联系在一起,需要调用外部实例的方法,则考虑使用非静态的成员类
3.匿名类
实现的代码不是很长,不影响代码可读性,可以用匿名类
4.局部类
一般在一个方法里面申明一个局部类,很少用,可读性太差
例子:
静态成员类
public class StaticTest
{
void print(){
System.out.println(StaticClazz.look(" static class"));
}
//静态内部类
static class StaticClazz{
static String look (String name){
return "looked"+name;
};
}
}
非静态成员类
public class NonstaticTest
{
String look (){
return "looked";
};
void exec(){
StaticClazz sc = new StaticClazz();
sc.print(" Nonstatic class");
}
//非静态内部类
class StaticClazz{
void print(String name){
System.out.println(look()+name);
}
}
}
匿名类
局部类
public class PartTest
{
static void print(){
//局部类
class PartClazz{
String look(){
return "ocean";
}
};
PartClazz pc = new PartClazz();
System.out.println(pc.look());
}
}