永发信息网

java中try{}catch{}语句为什么把定义管道语句写在try内就出错,先外定义就正确

答案:3  悬赏:0  手机版
解决时间 2021-02-15 20:14
java中try{}catch{}语句为什么把定义管道语句写在try内就出错,先外定义就正确
最佳答案
一个程序块定义了一个作用域
你在try{}中定义的FileInputStream只存在t当前try块中,所以在第二个try中他未定义,所以报错追问好像还必须对in初始化,为什么String 那些引用不用初始化 这个管道必须初始化呀追答所有都必须初始化
String str = new String();看起来像是没有初始化复制,但是他调用自己的构造方法,已经做了初始化了
全部回答
那就是Java变量作用域的问题了。Java基本上{}算一个作用域,你把in定义在try里面那么这个in只在这个try里面有效。放在外面的话,就相当于全局变量的意思了追问好像还必须对in初始化,为什么String 那些引用不用初始化 这个管道必须初始化呀追答你的程序写的不太好,初始化也是Java io的特性。你最好吧下面的一个try放在第一个的try里面。形成这样的:
try{
try{
}catch(){
}
}catch(){
}
作用域问题。in 这个变量是在第一个try catch里定义,它的作用域只在try 包围的块内。在别处就无法识别,因此会提示 in cannot be resolved (in变量无法解析)。追问好像还必须对in初始化,为什么String 那些引用不用初始化 这个管道必须初始化呀
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
交通事故,死者办出院手续需要车主去吗?
三湾屋里在哪里啊,我有事要去这个地方
【中华大字典】中华大字典冯国超编共有多少个
苹果手机设置里面的个人热点什么意思
陈氏商行NO.1地址在什么地方,想过去办事
什么网站可以免费观看最新电影电视剧
已知函数f(x)=log2(x+1/x-1)+log2(x-1)
微信上6张扑克牌,是什么原理哇,怎么就没了
诚信家具字样我想把诚信家具这四个字设计成行
朝先椅顶在什么地方啊,我要过去处理事情
【每一刻都是崭新的】“每一刻都是崭新的”怎
玉帝下的官职都是些什么啊
哪位大神可把“南柯一梦”翻译为韩语,谢了,
请问中国出口柬埔寨药品有哪些?
康熙足道地址在什么地方,想过去办事
推荐资讯
公司不买社保有什么后果
手机版侠盗猎车圣地安列出境怎么才能不违法
晓麒刀茅巷店地址有知道的么?有点事想过去
淇县鹤壁海坤音像在什么地方啊,我要过去处理
上海房地产好做吗?
31岁本科女,已婚已育,管理学毕业,工作经验
mastercam里有句话说什么 设定作图深度Z-40
定向增发有什么风险?
赖雨生国酱酒这个地址在什么地方,我要处理点
长葛市许昌新希望教育哪位知道具体地址啊
茅箭区十堰专业足疗养生在什么地方啊,我要过
我家是农村的,在修大门的时候大门墩子里面放
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?