socket soc=null,这个只是java变量的赋值方式。
倘若你不做这一步,而用socket soc;你的函数调用如果返回soc的话,会直接告诉你没有初始化,编译期报错
本质而言,他们是一样的。都是null,soc这个引用没有指向任何有意义的对象
倘若你不做这一步,而用socket soc;你的函数调用如果返回soc的话,会直接告诉你没有初始化,编译期报错
本质而言,他们是一样的。都是null,soc这个引用没有指向任何有意义的对象
解决方案 »
- 求一个最简单的GUI例子
- Panel的分行处理
- JList的事件valueChanged()怎么老是执行两次啊??!!
- 一个DataSource 的jndi配置
- 各们高手帮帮忙!~~
- 一个新手关于Java的问题
- 问个题外话:想上宽带不知道是电信的好还是广电的好
- 跪求解释 看不懂 jls.............类型参数和类型变量不是在运行时具体化的。因此,不同的参数化类型是由相同的类或接口在运行时实现的
- 是否能用session bean来完成数据库查询!
- JAVA中如何实现GETVALUE()功能?高手帮忙哈!十万火急!(我头都想大了!)
- 关于导入接口的问题——“import”
- 三维柱状图和饼图的实现,散分100!!
2: soc = null; //初始化这个soc
3: ....引用soc第1步你只是告诉程序有这个一个socket对象叫soc
弟2步你把他初始化(这是一个必做的工作,或者叫做把soc实例化成一个null实例)
当然,这里你也可以soc = new Socket(...);
第3步你对他进行引用形象一些说:
1: 你的老婆(假设她就是你的程序)要做饭了(要执行了),你告诉她你们家有一袋米
2: 你告诉你的老婆你们家的米在哪里
3: 你的老婆找到了你的米
如果你省略了第2步,那么你的老婆在第三步就找不到米,当然,饭也就没的吃了。这个时候她就会告诉你,猪头,我们家的米在哪里?(于是你的老婆抛出了一个异常给你,叫做被引用的对象未被初始化)之所以要用socket soc = null;是一种习惯,以防止你在后面的程序因为内部或外部的原因造成未给soc初始化或者实例化而造成错误.
当然如果你这样写 Socket soc = new Socket("192.168.0.155",21);
当然你可以省略soc = null; = null只是在你不想对soc 进行实例化的时候完成一个并不占用什么资源的复值(这个可比new Socket()省了不少资源哦).
如果Socket soc是方法中的变量,就可以不要写,也不建议写。
2、panel3.add(button3, null),第二个参数表示将button3加到指定的layout,如果为null,相当于没有使用layout,在java里是不建议的。