Java中如何定义公共静态语句块

例如像static{//somedata},但是这样不能在其他类中使用到static中定义的变量,所以想问下是否可以使用静态语句块定义一些公共的变量,像publicsta... 例如像static{//some data},但是这样不能在其他类中使用到static中定义的变量,所以想问下是否可以使用静态语句块定义一些公共的变量,像public static String str1=“str1”;(但不是使用这样的方式,因为我要定义一大堆的公共静态变量一共另外一个类使用。
这里谢过各位大神了。。。
展开
 我来答
NiceBabyLuckys
2013-07-21 · TA获得超过167个赞
知道小有建树答主
回答量:257
采纳率:100%
帮助的人:41.3万
展开全部
没有这种语法,你要公共变量就在类里面定义static类型的变量不就行了!static本来就是类加载的时候被加载的效果都一样没有区别的!别折腾自己!
追问
public static String ITEM_MOBILE = "移动";
public static String ITEM_WEB = "Web";

如果能够放在static中一起定义不是美哉?
static{
String ITEM_MOBILE = "移动";
String ITEM_WEB = "Web";
}
可是就是不能在其他类中使用。能否解决?
追答
静态方法怎么不能再其它类中使用?使用方式:类名.变量名  即可,如:假设你是一个Demo类
Demo.ITEM_MOBILE即可了啊,不用什么对象的!。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jamxval
推荐于2016-05-01 · TA获得超过6821个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1397万
展开全部
static 块仅适合当前类的初始化工作,它本身相当于一个匿名构造方法,所以不是用来定义变量的,你只能在这里面初始静态变量而不是定义这些变量。
另外,static 按照概念来说是不是为了继承服务的。在 Java 中也有潜在的导致复杂性增加的出错机率。
比如:当父子两个类都有一个 static 方法中 name(),现在当我们使用
Parent a = new Parent();
Parent b = new Child();
Child c = new Child();
a.name();
b.name();
c.name();
我们观察a,b,c 的输出结果就能看出来, a, b 输出是一样的,而 c 的输出却不同。所以 Eclipse 在编译这样的代码时会给出警告信息提醒你使用 Parent.name() 或 Child.name() 而不是使用变量 a,b,c.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hy00870
2013-07-21 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:146
采纳率:100%
帮助的人:97.9万
展开全部
你的意思是定义了之后能在其他类中也可以使用呗!! 定义成protected的然后继承用就可以了,整那麻烦事儿干嘛呢!
追问
只是已经继承Java内部的类了,不支持多继承。
只是想减少代码的输入量,
如果没有的话,我就还是按照原来那样一个变量一个变量的定义吧。
追答
如果可以  你可以选择用定义常量的类继承你要用的类继承的类,然后在用要勇的这个来继承定义常量的类!!就是分成祖子孙来继承,不过还要看你的实际情况了!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友752e907
2013-07-22 · TA获得超过513个赞
知道小有建树答主
回答量:809
采纳率:50%
帮助的人:446万
展开全部
用枚举就可以搞掂你想要的,
public enum Color{
"移动","Web"
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zk_417464484
2013-07-21
知道答主
回答量:9
采纳率:0%
帮助的人:8439
展开全部
就定义一大推
public static String str1=“str1”
你说的语法没有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式