社区
Java EE
帖子详情
java基础求解答
DSFFGDFGFDGDFG
2015-02-09 05:15:14
public class Test {
static {
x = 5;// 不报错
System.out.println(x);// 编译报错
}
static int x, y;
}
求解答 为什么x=5不报错,System.out.println(x)报错
...全文
422
13
打赏
收藏
java基础求解答
public class Test { static { x = 5;// 不报错 System.out.println(x);// 编译报错 } static int x, y; } 求解答 为什么x=5不报错,System.out.println(x)报错
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xinranchris
2015-02-11
打赏
举报
回复
4L 正解
日知己所无
2015-02-11
打赏
举报
回复
原来程序的错误是:非法的向前引用 解决办法 1)把static int x, y;提到static {}的前面【先定义后使用】 2)System.out.println(Test .x);【明确使用类变量】 3)System.out.println(x=5);【坏坏的idea】 结果都能按照预期打出5来 最好能下载一个反编译class文件为源代码的工具来看看javac到底把源代码编译成什么了…… 3)的反编译结果如下: import java.io.PrintStream; public class SystemOutPrintlnTest { static int x = 5; static int y; public static void main(String[] args) {} static { System.out.println(SystemOutPrintlnTest.x = 5); } }
anythingforyou
2015-02-11
打赏
举报
回复
我是来围观的
重头开始学Java
2015-02-11
打赏
举报
回复
10L 正解
龙四
2015-02-10
打赏
举报
回复
谁说static块里不能不能放sysout的。。。
lasthope
2015-02-10
打赏
举报
回复
4楼正解 !
七脉
2015-02-10
打赏
举报
回复
4楼
yatesChiang
2015-02-10
打赏
举报
回复
我加个函数就不报错了 static void say(){ x = 5;// 不报错 System.out.println(x);// 编译报错 } static int x, y;
开心汉堡包
2015-02-10
打赏
举报
回复
你这个要去查查System.out.print是在什么时候执行的,像这种东西都是生命周期的问题
简易人
2015-02-09
打赏
举报
回复
楼主你好,static 是用来声明静态变量的,不是方法体,system。。。 是需要放在方法体弄进行执行的语句
skyhitnow
2015-02-09
打赏
举报
回复
向前引用只能是变量处于表达式左端。
fanlvlgh
2015-02-09
打赏
举报
回复
能不能解释的详细点?菜鸟一只 不理解这个逻辑
尼坤神
2015-02-09
打赏
举报
回复
静态属性和静态代码块是按顺序加载的,所以是那个写在上面的那个先加载
从
Java
菜鸟到专家的资料
个人总结,集10年开发经验,精挑细选!不要错过哦。非常经典,非常实在的资料.轻松上手,附上经典实例,
java
面试题总结 下载
附件是我整理的互联网公司
java
基础
面试的一些
基础
知识的笔记,包括
java
基础
,mysql索引,事务,多线程问题,高并发问题等。都是我自己辛辛苦苦整理的笔记和别人写的博客,希望对面试的小伙伴有帮助。
java
数据结构(
Java
版)(第3版)[叶核亚] 全套资料
java
数据结构(
Java
版)(第3版)[叶核亚] 全套资料包含:[电子教案] [配套资料] [习题解
答
与试题库] 内容相当丰富 不收藏肯定后悔呀
thinking.in.
java
第三版(中文版).第四版(英文版)(含有
答
案)
thinking.in.
java
第三版.第四版(中文版.习题
答
案) 第三版是中文版 第四版是英文版 CLeopard
2014年最新
JAVA
面试题汇总经典例子及其
答
案
最新
JAVA
面试题汇总经典例子及其
答
案。
Java EE
67,549
社区成员
225,863
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章