java语法的问题

zhougy 2004-04-01 04:13:18
有下面一段程序:
public class AAA {
private static String a;

static {
String b="bbbb";
a=b;
}

public String getA() {
return a;
}
}
请问static括号中的内容是什么用法???
...全文
48 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
涅槃传说 2004-04-02
  • 打赏
  • 举报
回复
静态的变量意味着这个值不随对象是里的变化而变化。无论从什么对象访问他都是相同的!
另外,静态的方法只能访问类的静态的变量和其他的静态方法!
programer23 2004-04-02
  • 打赏
  • 举报
回复
1。简单的说就是 定义类型初始化。它等于
static String b="bbbb";
static String a=b;
你可以这么理解。
2。那为什么不放在构造函数中呢?这样使用有什么优点?

因为这样比在函数内要快。一般初始化都在函数调用之前,同样包括构造函数。

别忘了给分呀。
maoqi2232 2004-04-01
  • 打赏
  • 举报
回复
静太变量是不能够被对象副直的,
runki 2004-04-01
  • 打赏
  • 举报
回复
学习
chenyaoguo23 2004-04-01
  • 打赏
  • 举报
回复
这是静态变量初始化一种方法。
arnold8792 2004-04-01
  • 打赏
  • 举报
回复
这个是执行时间的问题,在静态块中,是在类加载的时候,静态变量赋值完成后执行的,
但构造函数是在new的时候执行的,
atq9 2004-04-01
  • 打赏
  • 举报
回复
up
oxv 2004-04-01
  • 打赏
  • 举报
回复
有一个好处就是:一个类成员要通过它的对象访问,不过可以创建一个成员,这个成员本身能够使用,没必要引用一个特殊的实例,而要创建这个成员,那么就必须加这个关键字(static)了
Vasating 2004-04-01
  • 打赏
  • 举报
回复
我给你解释一下吧:
如果把一个字段定义为static,那么这个类就只有一个这类字段。如果没有定义成static,那么每个对象都有一份对所有的实例字段的拷贝。静态字段在没有对象的情况下也是存在的,它属于这个类,不属于任何对象。
这些你可以理解它和构造函数的区别。
在C++中,也有这样的概念。
zhougy 2004-04-01
  • 打赏
  • 举报
回复
那为什么不放在构造函数中呢?这样使用有什么优点?
oxv 2004-04-01
  • 打赏
  • 举报
回复
声明的静态模块,是一些全局变量,不生成static变量的副本
sean_gao 2004-04-01
  • 打赏
  • 举报
回复
类载入的时候会运行的代码块。

62,623

社区成员

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

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