java报错非法的前向引用问题怎么解决


这篇文章主要介绍了java报错非法的前向引用问题怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java报错非法的前向引用问题怎么解决文章都会有所收获,下面我们一起来看看吧。这个是错误的代码:为什么我在static代码块中对a进行了初始化,仍然报错呢?原因就涉及了java对于初始化过程中对成员变量的限制:成员变量a如果满足如下的4点,就必须在使用前必须对该成员变量进行声明设定C为直接包含该成员变量的类或者接口如果a出现在在C的或静态成员/非静态成员初始化 或者 C的静态或非静态代码块中如果a不是 一个赋值不等式的左值通过简单名称来访问在我自己写的代码中,a.printA() ;出现的位置是CC的静态代码块中,通过简单名称直接访问(也就是直接使用a), 并且不是赋值不等式的左值,所以会报错“非法的前向引用”这个是java语言规范中的原文代码(其中的中文是我自己的标注):非法向前引用的例子:那么为什么类似于i= “1234”;这样的代码可以呢?这是因为Java对其中的某些情况做了“特许”,其中有一条就是“通过简单名称引用的变量可以出现在左值位置,但不能出现在右值的位置”,所以前面的代码可以,但System.out.println(i);不行,因为这是一个右值引用。其目的是避免循环初始免费云主机域名化和其他非正常的初始化行为。什么是循环引用,看一下下面这个例子:如果没有前面说的强制检查,那么这两句代码就会通过编译,但是很容易就能看得出来,i和j并没有被真正赋值,因为两个变量都是未初始化的(Java规定所有变量在使用之前必须被初始化)关于“java报错非法的前向引用问题怎么解决”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“java报错非法的前向引用问题怎么解决”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: jquery如何转换字符串编码

本文小编为大家详细介绍“jquery如何转换字符串编码”,内容详免费云主机域名细,步骤清晰,细节处理妥当,希望这篇“jquery如何转换字符串编码”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 第一步:查看原始字符串编码格式在进行字…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 07/09 10:09
Next 07/09 10:10

相关推荐