社区
Java SE
帖子详情
这里为什么只执行静态块不执行主方法啊
qq_36373585
2016-10-12 10:20:47
这里的执行结果是 static
main
现在的结果是 static
怎么感觉只是执行了静态块,主方法不执行,这是什么原因呢?谢谢大家看到了能帮我答疑啊,非常感谢!
...全文
336
8
打赏
收藏
这里为什么只执行静态块不执行主方法啊
这里的执行结果是 static main 现在的结果是 static 怎么感觉只是执行了静态块,主方法不执行,这是什么原因呢?谢谢大家看到了能帮我答疑啊,非常感谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qq_34494077
2016-10-22
打赏
举报
回复
静态块 在程序加载时 是第一个执行的
izard999
2016-10-12
打赏
举报
回复
method 是需要调用才会执行的, 静态块在这个类加载完就会执行
jj932359135
2016-10-12
打赏
举报
回复
你要调用a.main(...);才会执行Test类main方法中的打印。
小灯光环
2016-10-12
打赏
举报
回复
因为你的main方法并没有打印语句啊,拿什么执行,new Test()时构造对象之前会初始化类,调用了静态块的打印语句~
肃穆丶
2016-10-12
打赏
举报
回复
你要调用main方法才会打印呀。。
boy_3211
2016-10-12
打赏
举报
回复
main方法是程序入口,你运行test的时候先执行main在执行static Test new出来的时候调用的是构造方法 main函数不调用则不运行
angry ant
2016-10-12
打赏
举报
回复
因为你的test是一个对象,test类中的main只是对象的一个方法,要让对象去调用方法(a.main())才会被执行,new操作符会在堆内存中开辟空间,但是静态代码块不存在堆栈中,存放在方法区中,在test类加载时就会被运行。
zycxnanwang
2016-10-12
打赏
举报
回复
楼主, 估计是初学, 首先你new出了一个test类,加载类的时候, 首先执行其静态数据段,故先出来static,之后初始化 其成员变量, 然后才是构造函数,这样一个类才加载完了, 之后其静态函数,可以通过类名直接调用,不用new出新 对象, 估计楼主是在 静态代码段 和 静态函数这有疑惑, 可以分别百度一下
【JVM系列】关于
静态
块
、
静态
属性、构造
块
、构造
方法
的
执行
顺序
当类被加载时,会首先
执行
静态
代码
块
和
静态
变量的初始化。
静态
代码
块
和
静态
变量的
执行
顺序只跟代码中出现的顺序有关,且
静态
变量或
静态
方法
中如果调用构造
方法
,可以把构造当做一个普通
方法
来看,但会先
执行
一遍代码
块
。接着,会
执行
父类的
静态
代码
块
和
静态
变量初始化。然后,
执行
子类的
静态
代码
块
和
静态
变量初始化,实例化父类时,会先
执行
父类的实例变量初始化,然后
执行
父类的构造
方法
实例化子类时,会先
执行
子类的实例变量初始化,然后
执行
子类的构造
方法
在构造
方法
执行
之前,会先
执行
非
静态
代码
块
。
Static
静态
代码
块
以及各代码
块
之间的
执行
顺序
前言 在Java中,Static
静态
代码
块
、构造代码
块
、普通代码
块
、构造函数的
执行
顺序是一个java学习者必须掌握的基础,本篇博客旨在让大家能清除了解它们之间的
执行
顺序。 文章目录代码
块
的分类1、
静态
代码
块
(也叫
静态
块
、
静态
初始化
块
)2、构造代码
块
(也叫构造初始化
块
)3、代码
块
(又叫普通代码
块
、初始化
块
)
执行
顺序的代码测试继承中各代码
块
的
执行
顺序 代码
块
的分类 基本上代码
块
分为三种:Static静...
java 代码
块
:
静态
代码
块
和非
静态
代码
块
main
方法
是程序的入口,加入没有main
方法
程序无法启动,但是main
方法
不是第一个
执行
的。 我认为:在这个类加载时,编译器会找到main
方法
,从这里开始运行,但是当你把这个类加载的时候,
静态
代码
块
就
执行
了!! 可以总结出
静态
代码
块
和非
静态
代码
块
各自的特点: 1、
静态
代码
块
,只
执行
一次,并且在类加载的时候
执行
。 2. 非
静态
代码
块
,在每次创建对象时,都会
执行
一次。 3. 代码
块
的优先级比构造
方法
高。 总结: 当加载一个类时,先进行
静态
属性初始化,并为静...
代码
块
以及构造
方法
执行
顺序
有关
静态
代码
块
,构造代码
块
,main函数,构造函数,
静态
方法
的
执行
顺序
静态
代码
块
是最先
执行
的,这里有可能会和
静态
方法
联系起来,
静态
代码
块
和
静态
方法
都会在类加载的时候,被加载,但是
静态
代码
块
会直接
执行
(且只
执行
一次,后面无论实例化多少对象,都只被
执行
一次),而
静态
方法
不会被
执行
,
静态
方法
要被调用才会
执行
。 构造代码
块
和构造函数只有对象实例化的时候,才会
执行
且构造代码
块
在构造函数
执行
之前被
执行
。 执...
静态
代码
块
、
静态
方法
、构造
方法
的
执行
顺序
java中首先是
静态
块
先
执行
,
静态
方法
,最后是构造函数。示例如下:123456789101112131415161718192021222324252627282930313233343536373839public class ExA { static { System.out.println("父类--
静态
代码
块
"); } public E...
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章