静态成员类,非静态成员类,匿名类、静态匿名类、局部类,究竟有什么区别?请看下面的示例代码:
package interClass;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class MainClass {
private static String getStaticName(){
return "mainClass static member";
}
private static String getNonStaticName(){
return "mainClass NonStatic member";
}
public static class staticClass{
private static String getInterName(){
return "staticClass";
}
}
public class NonStaticClass{
//静态非成员类不能有静态成员
private String getInterName(){
return "NonStaticClass";
}
}
public static void main(String[] args){
//静态成员类
System.out.println(MainClass.staticClass.getInterName());
MainClass main = new MainClass();
//非静态成员类
NonStaticClass nonStaticClass=main.new NonStaticClass();//初始化非静态类
System.out.println(nonStaticClass.getInterName());
//匿名类
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("abcd");
list.add("a");
Collections.sort(list, new Comparator<String>() {
public int compare(String o1, String o2) {
return ((String)o1).length() - ((String)o2).length();
}
});
System.out.println(list);
//内部类,只能有final和abstatct修饰符
final class LocalClass {
private String getName(){
return "localClass";
}
}
LocalClass local=new LocalClass();
System.out.println(local.getName());
}
}