List l = new ArrayList<Number>();
l的静态类型是List? 这里的“静态类型”是什么意思? 我在sun的java教程中读到它
答案 0 :(得分:5)
表达式的“静态类型”是编译器认为它的类型 - 编译时类型。这可能与变量的值的执行时类型不同。
例如,考虑一下:
Object obj = "hello";
obj
变量的编译时类型(或静态类型)为java.lang.Object
。但是,在执行时,obj
的值是对java.lang.String
类型的对象的引用。