为了账号安全,请及时绑定邮箱和手机立即绑定

请问这样为什么不行

static String className;

className="JAVA开发一班";

这样当通过类名访问 静态变量的时候就无法输出JAVA开发 一班,但是当改成

static String className="JAVA开发一班";时就可行 请问是为什么呢


正在回答

2 回答

语法错误,不能先定义后赋值。这样的话static String className ; className="JAVA开发一班"; 系统认为应该是同一个语句,所以不能后赋值。


0 回复 有任何疑惑可以回复我~
#1

MiaLoo 提问者

非常感谢~
2016-05-16 回复 有任何疑惑可以回复我~

是可以这样写的。代码如下是可以运行的:

package com.herry;

public class test1 {

     static String className;

public static void main(String[] agrs){

      className = "Java开发一班";

      System.out.println(test1.className);

}

}

不知道你的原因是不是因为static变量没有定义在类中,而是定义在main方法里了。

1 回复 有任何疑惑可以回复我~
#1

MiaLoo 提问者

谢谢你啦~
2016-05-16 回复 有任何疑惑可以回复我~
#2

MiaLoo 提问者

className="JAVA开发一班";这句可以放在static String className;后面吗 即在main方法外,在类里。
2016-05-16 回复 有任何疑惑可以回复我~
#3

慕粉粉饼 回复 MiaLoo 提问者

不可以放在static String className;这句的后面。 如楼上所说,这样就会造成语法错误。错误的原因是static在定义一个变量的时候同时若没有赋值的话,系统会默认给值,并且static只能被初始化一次。因此你后面的className="JAVA开发一班";再对其className进行赋值,就赋值不上并且报错。
2016-05-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

请问这样为什么不行

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信