全局变量问题

咖啡加糖不加奶 2019-08-14 08:11:33
这个为什么会报错请大佬给小白我讲讲原因
...全文
166 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
举个最简单的例子,一个人算一个对象,
引用 14 楼 guishuanglin 的回复:
楼主, java入门看这里: https://www.runoob.com/java/java-tutorial.html
哈哈 着实很秀
  • 打赏
  • 举报
回复
谢谢各位大哥,这个知识点我懂了。
  • 打赏
  • 举报
回复
引用 14 楼 guishuanglin 的回复:
楼主, java入门看这里: https://www.runoob.com/java/java-tutorial.html
好的谢谢
guishuanglin 2019-08-15
  • 打赏
  • 举报
回复
楼主, java入门看这里: https://www.runoob.com/java/java-tutorial.html
guishuanglin 2019-08-15
  • 打赏
  • 举报
回复


public class Test {
	//类成员只能是方法,变量,子类等,不能做相关操作.
	int a=1;
	
	public void test01() {
		//操作变量只能在方法里处理.
		a=2;
	}

	public static void main(String[] args) {

	}

}
踏雪之_无痕 2019-08-15
  • 打赏
  • 举报
回复
附值必须放在方法中。因为附值是一个动作,不是定义。或者直接写int aa = 22;吧,这个没什么为什么,语言规则。
  • 打赏
  • 举报
回复
引用 10 楼 人生呐 的回复:
首先为什么报错,上面有个大哥说的是对的,类体里是只允许定义类的,你写了int a=1; a=2;编译器认为你是在定义两个变量,但是中间却用了分号,应该是用逗号,int a=1, a=2; 这样的话就会提示a已经定义了。至于为什么类体中只允许变量的初始化,java不就是面向对象的么,一个对象只有两种东西,要么是属性,要么是方法,你把方法中的东西抽出来去当做属性,但是又不符合属性的定义规则,当然不被允许,而且如果类体中可以随便写逻辑,那还要方法干嘛
类体中只允许定义类变量以及变量初始化,说错了
  • 打赏
  • 举报
回复
首先为什么报错,上面有个大哥说的是对的,类体里是只允许定义类的,你写了int a=1; a=2;编译器认为你是在定义两个变量,但是中间却用了分号,应该是用逗号,int a=1, a=2; 这样的话就会提示a已经定义了。至于为什么类体中只允许变量的初始化,java不就是面向对象的么,一个对象只有两种东西,要么是属性,要么是方法,你把方法中的东西抽出来去当做属性,但是又不符合属性的定义规则,当然不被允许,而且如果类体中可以随便写逻辑,那还要方法干嘛
lgxysl 2019-08-15
  • 打赏
  • 举报
回复
在类体内只能做变量的声明和初始化,是不能直接写执行语句的,如赋值、循环、判断等都不行,执行语句必须写在方法内。你把a赋值属于执行语句,只能写在方法内。同时,你这样定义的变量a不是全局变量,而是实例成员变量,它的作用范围不能超出这个类。如要跨类(即全局)便用变量,可把这个变量声明为静态的。
  • 打赏
  • 举报
回复
引用 7 楼 weixin_40290083 的回复:
int a = 1;表是在定义a的同时对它进行初始化 a=2;则是一条对a的赋值语句,它要放在类的成员方法中,但是你的集成开发环境可能认为是要定义另一个变量,但是却使用了;所以就报了“;”处的错误,
我想知道为什么一定要放在类的成员方法中?这跟内存分配有关还是什么原因?
weixin_40290083 2019-08-15
  • 打赏
  • 举报
回复
int a = 1;表是在定义a的同时对它进行初始化 a=2;则是一条对a的赋值语句,它要放在类的成员方法中,但是你的集成开发环境可能认为是要定义另一个变量,但是却使用了;所以就报了“;”处的错误,
编程写手 2019-08-15
  • 打赏
  • 举报
回复
引用 4 楼 咖啡加糖不加奶的回复:
引用 3 楼 kubichengxuyuanz 的回复:
赋值应该写在方法里
为什么全局变量的赋值一定要放到方法里?
已经初始化的变量的再次赋值需要写入方法中
编程写手 2019-08-15
  • 打赏
  • 举报
回复
a出现了计算赋值操作,把a放入方法中即可
zspmsir 2019-08-15
  • 打赏
  • 举报
回复
操作逻辑必须在方法里面,类里面只能定义
  • 打赏
  • 举报
回复
引用 3 楼 kubichengxuyuanz 的回复:
赋值应该写在方法里
为什么全局变量的赋值一定要放到方法里?
  • 打赏
  • 举报
回复
赋值应该写在方法里
vnsing 2019-08-14
  • 打赏
  • 举报
回复
int a=1放在上边试试
yc十安 2019-08-14
  • 打赏
  • 举报
回复
你应该先声明这个变量 int a,然后再赋值。

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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