关于变量命名重复问题
public class CarDemo { static String firm; String color; int price; public CarDemo(String color, int price) { this.color = color; this.price = price; } public void display() { int price=100000; // { int price=200000; } } }
在方法display中,定义了一个price,它和属性一样,为什么没有冲突呢?属性中的price应该在整个类的范围内都有效吧?在display中应该也是有效的,此处可以,为什么在普通代码块中再次定义就不可以呢?
20
收起
正在回答
1回答
同学你好,因为第一个price是全局变量 ,第二个price是局部变量,并且第二个price的作用范围就是display()整个方法中。局部变量可以和全局变量重名,所以没有冲突;但是第三个price也是局部变量,并且在display0方法中,所以和第2个price冲突报错
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
java工程师2020版
- 参与学习 人
- 提交作业 9400 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星