关于FileOutputStream的一个问题

~嘘~~ 2018-11-13 03:17:20


图中的语句有一句是这样的:FileOutputStream fw = null;
这句话中既然将空值赋值给fw为什么不直接删除后面的代码变成:FileOutputStream fw ;呢?之前我试着把“= null”删了,可是后面的有一段语句报错了,如图:

这是为什么呢?难道是固定格式吗?

求解。
...全文
86 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_40205035 2018-11-14
  • 打赏
  • 举报
回复
方法里面不是要必须赋值吗?我是新手
咸哼酒家 2018-11-14
  • 打赏
  • 举报
回复
你点下红色的X,报错应该是找不到 fw这个变量
先声明这个变量是为了下面的代码能看到并使用这个变量
楓VS痕 2018-11-14
  • 打赏
  • 举报
回复
Java中,变量的使用都遵循一个原则,先定义,并且初始化后,才可以使用。
FileOutputStream fw; 只是声明变量,并没有进行初始化;
FileOutputStream fw = null; 给变量指定一个null值,相当于定义变量并且初始化;
据传说 2018-11-14
  • 打赏
  • 举报
回复
这个和Java对象的机制有关系,只声明不赋值和声明并赋值为null并不是等价的,局部的对象变量是必须初始化的,类变量就不用
伍六七AI编程 2018-11-14
  • 打赏
  • 举报
回复
声明变量必须要初始化,=null 相当于初始化为 null
十八道胡同 2018-11-13
  • 打赏
  • 举报
回复
FileOutputStream fw = null; 是把fw声明一下,然后定义他的值为null


我猜下面报错是因为在try外面没有fw的定义

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧