问下这个是啥用法

sidenycc 2008-01-26 10:36:16
class Candy{
static {print("loading candy");}
}
为啥加{}后返回类型也不用了?
...全文
142 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xql80329 2008-01-29
  • 打赏
  • 举报
回复
java2000_net 好人哪!
Jieyee 2008-01-29
  • 打赏
  • 举报
回复
lz被static吓到了,代码块而已,你可能{}用了好多,一个while,一个for,没少用吧。
xiaolingshi 2008-01-26
  • 打赏
  • 举报
回复
可是上面那个没有void 啊
---------
返回类型是成员方法的
而你的代码块是独立的,不属于哪个方法,故不需要返回类型
老紫竹 2008-01-26
  • 打赏
  • 举报
回复
直接写在代码块里面也可以

你直接写了,当然就不用返回了,又不在方法里面,返回啥哦?

推荐这样写
private static void init(){
// 初始化方法写在这里
print("loading candy");
}
shielden 2008-01-26
  • 打赏
  • 举报
回复
那段特殊的代码块并不能让你像普通方法手动调用的
sidenycc 2008-01-26
  • 打赏
  • 举报
回复
3楼的有返回类型可以理解,可是上面那个没有void 啊
JavaLover00000 2008-01-26
  • 打赏
  • 举报
回复
3楼正解。。
老紫竹 2008-01-26
  • 打赏
  • 举报
回复
类一级的代码块。 一般用来初始化一些环境参数,比如数据库连接,一些变量的初始化之类的。
常见的方法是
static {
init();
}
private static void init(){
// 初始化方法写在这里
}


当然象楼主那样直接写在代码块里面也可以
sidenycc 2008-01-26
  • 打赏
  • 举报
回复
这样就不用返回类型了吗
cangyue87 2008-01-26
  • 打赏
  • 举报
回复
代码块...

楼主的例子则是静态代码块....实际中用的比较少...
mcluvin 2008-01-26
  • 打赏
  • 举报
回复
方法是方法,代码块是代码块。静态代码块比实例代码块用的多,JDBC驱动里就有用静态代码块注册对应驱动的。
  • 打赏
  • 举报
回复
代码块,有静态和非静态两种,其在类初始化的时候自动执行,不需要返回类型。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧