黑马程序员技术交流社区

标题: 关于 == 比较符的疑问 [打印本页]

作者: Moonboy2014    时间: 2014-6-29 22:31
标题: 关于 == 比较符的疑问
interface Person
{
        abstract void show();
}

class Student implements Person
{
        public void show()
        {
                System.out.println("student run");
        }
}

class ProxyStudent implements Person
{
        private Student s;
        public void show()
        {
                before();
                if(s == null)//这个比较是什么意思,为什么不直接new一个Student对象呢?
                {
                        s = new Student();
                }
                s.show();
                after();
        }
        public void before()
        {
                System.out.println("do something before show");
        }
        public void after()
        {
                System.out.println("do something after show");
        }
}
public class ProxyDemo {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                        ProxyStudent ps = new ProxyStudent();
                        ps.show();
        }

}
请教各位高手,s==null是说明意思,为什么改成s!=null 就提示空指针异常了,知道的详细解答一下,不胜感激






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