我一直很好奇。
我写过一些java代码&它显示空指针异常。我很想知道 为什么java给出空指针异常,即使它不支持指针?
答案 0 :(得分:5)
事实上没有指针算术并不意味着语言中没有使用指针。当谈到Java时,有一个很多指针,你只需跟随.
而不是->
的引用。
答案 1 :(得分:1)
Object references
只是指针,但它们并不像Pointers
那样复杂。请查看this的差异。
答案 2 :(得分:1)
Java 支持指针(每次有.
或[
时都会使用指针。)
它不支持指针算术 - 即使用数学操作指针到另一个指针的能力。
要指出转换后的C / C ++程序员,他们没有携带C名称,而是将其命名为其他名称。在JVM级别,所有内容都是指针,但由于Java程序员在使用引用时只看到这一点,因此异常命名非常明确。
答案 3 :(得分:1)
Java确实有指针。它们可以有两种值:(a)引用到对象,或(b)null。这是规范中使用的语言。
然而,Java指针更类似于Pascal指针而不是C指针。答案 4 :(得分:0)
这是来自Java" C" herritage。这也是交易的说法。