黑马程序员技术交流社区

标题: 为什么这个编译不报错 [打印本页]

作者: 匿名    时间: 2011-9-15 17:41
呃,怎么没人来解决呢,我也想知道!!!
作者: 丁朋伟    时间: 2011-9-15 17:47
DuiLie()
        {
          LinkedList lk= new LinkedList();
        }
中的lk和
private LinkedList lk;
就不是一个对象了
调用构造函数初始化的是
DuiLie()
        {
          LinkedList lk= new LinkedList();
        }
而不是private LinkedList lk;

public void myAdd(Object obj)
        {
          lk.addFirst(obj);
        }
        public Object myGet()
        {               
                return lk.removeLast();
        }
        public boolean isNull()
        {
                return lk.isEmpty();
        } 中的lk对象是成员变量lk
[ 本帖最后由 丁朋伟 于 2011-09-15  17:50 编辑 ]
作者: 匿名    时间: 2011-9-15 19:16
这错误太低级了,但若不是看到楼上的说法,说不定还真是一时看不出
作者: 匿名    时间: 2011-9-15 22:16
NullPointerExceptionextends RuntimeException
      运行期异常,, 编译期不报错。。
作者: 匿名    时间: 2011-9-16 16:17
DuiLie()
        {
          LinkedList lk= new LinkedList();
        }
这不是构造函数吗?当你实例化他时不就创建了lk了吗?
个人理解。
作者: 匿名    时间: 2011-9-16 17:41
[quote] 原帖由 [i]石宗银[/i] 于 2011-09-15 22:16 发表 [url=http://bbs.itheima.com/redirect.jsp?goto=findpost&pid=9760&ptid=1530][img]http://bbs.itheima.com/images/common/back.gif[/img][/url]NullPointerExceptionextends RuntimeException
      运行期异常,, 编译期不报错。。 [/quote]
应该是这个问题,没创建对象,就是空指针异常,运行时报错。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2