舞马长枪:JAVA为什么可以这样写?
来源:百度文库 编辑:查人人中国名人网 时间:2024/05/11 17:30:09
public class ArrayMap extends AbstractMap implements Cloneable, Serializable {
static class Entry implements Map.Entry {//谁解释一下这句的意思?为什么一个公共类的内部又可以调用一个静态类?
}
}
static class Entry implements Map.Entry {//谁解释一下这句的意思?为什么一个公共类的内部又可以调用一个静态类?
}
}
不是调用,是定义了一个内部类。 这是很正常的
static 内部类 又叫 嵌套类
用的时候可以通过new ArrayMap.Entry() 实例化新对象
不是static的内部类不可以这样
例如
public class Test{
class A{
//一些方法
}
}
在这个类的内部可以直接 A a = new A();实例化
如果是另一个类中必须要外部类的对象才可以实例。
如:
Test t = new Test();
Test.A a = t.new A();
如果楼主有一点点的java基础,又想提高。看一看Thinking in java吧。这本书有免费中文和英文电子版。