java中 ServerSocket server=null;Socket you=null;you=server.accept();注意: if(you!=null)//啥意思?
2个回答
展开全部
ServerSocket server=null; //声明一个ServerSocket 对象的引用server,当前该引用没有指向任何对象
Socket you=null;//声明一个Socket 对象的引用you,当前该引用没有指向任何对象
you=server.accept(); //调用方法。
这三句话,肯定没有连在一起的,要不然的话,会出现空指针异常。
然后回到你说的问题:
you != null 是判断you是否被正确初始化,也就是说,你要操作you必须确定you不为空,才能进行。
you = null ;这是一个赋值语句。表示you当前不指向任何对象。
Socket you=null;//声明一个Socket 对象的引用you,当前该引用没有指向任何对象
you=server.accept(); //调用方法。
这三句话,肯定没有连在一起的,要不然的话,会出现空指针异常。
然后回到你说的问题:
you != null 是判断you是否被正确初始化,也就是说,你要操作you必须确定you不为空,才能进行。
you = null ;这是一个赋值语句。表示you当前不指向任何对象。
更多追问追答
追问
“。。。操作you必须确定you不为空,才能进行。。。”
什么情况下you不为空?
还有“。。。这三句话,肯定没有连在一起的,要不然的话,会出现空指针异常。。。”
你怎么知道的呢?
追答
比如:
Socket you=null ;//声明
you = new Socket() ; //引用you指向Socket对象,这里只是意思的写一下,至于怎么创建socket对象,你应该比我更清楚。
这里可能出现创建失败,比如出现异常、端口被占用。那么you可能为空,所以在使用的时候必须判断,如果创建成功,那么此时you就不为空了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询