静态成员类,非静态成员类,匿名类、静态匿名类、局部类,究竟有什么区别?请看下面的示例代码:
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());
}
}
本文通过示例代码详细解析了Java中静态成员类、非静态成员类、匿名类、静态匿名类及局部类的区别与用法。展示了不同类型的内部类如何被实例化及使用。
1630

被折叠的 条评论
为什么被折叠?



