黑马程序员技术交流社区
标题:
上周上来额一周java实习,分享几个问题。。。要淡定
[打印本页]
作者:
郝锡强
时间:
2011-12-30 11:51
标题:
上周上来额一周java实习,分享几个问题。。。要淡定
本帖最后由 郝锡强 于 2011-12-30 17:47 编辑
1.老师问:静态变量是最先被执行的么?
答:不是,还有静态代码快
我有一个疑问,那么main在静态代码快前面后面啊
2.老师:finally一定会被执行么?
答:try{}catch{}finally{}不一定会,因为可能有System.exit();
有一个疑问,那么除了System.exit()别的是不是都不会停止finally了啊?
该贴已经同步到 郝锡强的微博
作者:
颜宗茂
时间:
2011-12-30 12:20
静态方法只有调用的时候才会执行,只是不和对象联系在一起可以通过类调用,maim也一样。finally语句程序不退出的话是一定会执行的,哪怕有return
作者:
房宝彬
时间:
2011-12-30 14:45
一答:程序要进入main方法 首先要加载类,从而要执行定义在这个类的静态代码段。
二答:首先告诉你:finally块里的代码无论try块中是否发生异常都会执行这是一般的说法,不是绝对的,
那么除了System.exit()别的是不是都不会停止finally了啊?
我告诉你不一定。
作者:
郝锡强
时间:
2011-12-30 15:09
房宝彬 发表于 2011-12-30 14:45
一答:程序要进入main方法 首先要加载类,从而要执行定义在这个类的静态代码段。
二答:首先告诉你:finall ...
.........:L
finally,还有别的情况么
作者:
曾运
时间:
2011-12-30 15:38
静态变量是优先于静态代码块执行的
public class Demo
{
public static String aa="静态变量";
static
{
System.out.println(aa);//输出:静态变量 ,静态变量优先于静态代码执行,所以在静态代码块能能访问到它
}
public static void main(String[] args)
{
new Demo();
}
}
复制代码
作者:
付星
时间:
2011-12-30 16:58
问题一
static
{
System.out.println("Em");//这个先执行
}
public static void main(String[] args) {
System.out.println("Gm");//这个后执行
}
问题二
finally如果是外界原因也有可能不执行,如还没执行时候内存不足强行关闭了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2