A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Smart_lll 中级黑马   /  2014-11-22 07:27  /  1506 人查看  /  15 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Smart_lll 于 2014-11-22 07:28 编辑

Static成员变量在声明时,必须赋值吗?先声明再赋值为什么会报错呢?:Q 求解!
正确代码:
class Person{         private static String country = "cn";
...
}

错误代码:
class Person{
       private static String country;
       country = "cn";
...
}



QQ截图20141122072555.png (99.97 KB, 下载次数: 39)

QQ截图20141122072555.png

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

15 个回复

倒序浏览
先去了解下基础语法吧。
回复 使用道具 举报
类中只能定义变量或者方法,还有两种代码块,静态代码块和动态代码块。所以你的赋值语句必须放在代码块中。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
kerner 发表于 2014-11-22 09:36
类中只能定义变量或者方法,还有两种代码块,静态代码块和动态代码块。所以你的赋值语句必须放在代码块中。 ...

ok,thank you ! :handshake
回复 使用道具 举报
kerner 发表于 2014-11-22 09:36
类中只能定义变量或者方法,还有两种代码块,静态代码块和动态代码块。所以你的赋值语句必须放在代码块中。 ...

但是在类中使用 private static String country = "cn";这条语句不算是赋值吗?
回复 使用道具 举报
本帖最后由 dong53821713 于 2014-11-22 12:22 编辑

静态变量在声明的时候赋值,或者在静态代码块中赋值,再或者放到方法中赋值。
类体中不能给已经声明的变量赋值,语法问题


class Person{
       private static String country;//这样写可以,默认初始化
       private static String country = "cn";//这样写也可以,手动赋值
       country = "cn";//这样不对。在类体中不允许对已经声明的数据成员进行赋值,语法就是这样规定的
...
}
回复 使用道具 举报
kerner 中级黑马 2014-11-22 13:32:32
7#
Smart_lll 发表于 2014-11-22 11:19
但是在类中使用 private static String country = "cn";这条语句不算是赋值吗?

这是初始化语句。
回复 使用道具 举报
dong53821713 发表于 2014-11-22 12:04
静态变量在声明的时候赋值,或者在静态代码块中赋值,再或者放到方法中赋值。
类体中不能给已经声明的变量 ...

(⊙o⊙)恩恩,谢谢!!!
回复 使用道具 举报
kerner 发表于 2014-11-22 13:32
这是初始化语句。

哦了,晓得了!
回复 使用道具 举报
正在学习基础的路途中……
回复 使用道具 举报
zhmwt 初级黑马 2014-11-22 15:47:52
11#
在c++中,当声明成员变量时,还没为成员变量分配空间,如果是静态变量,也只能在类外面进行初始化,
回复 使用道具 举报
不只是静态变量,普通变量在类中定义,也不能使用动态赋值
回复 使用道具 举报
relice 中级黑马 2014-11-22 21:18:42
13#
我猜你是学过C语言吧  int a;   a = 5;C语言里面是可以这样的
回复 使用道具 举报
relice 发表于 2014-11-22 21:18
我猜你是学过C语言吧  int a;   a = 5;C语言里面是可以这样的

我学的很广泛,从VB,C,C#,C++,到Java,但就是不精通,现在主要学java。:Q
回复 使用道具 举报
kerner 发表于 2014-11-22 09:36
类中只能定义变量或者方法,还有两种代码块,静态代码块和动态代码块。所以你的赋值语句必须放在代码块中。 ...

受教了……
回复 使用道具 举报
来学习。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马