int x=3,y=4; --全局变量
int main()
{
int x=3,y=4; --局部变量
}
两个相同类型相同名称的变量编译器居然通过了,那位大侠能告诉我这是为什么呢?
是的. 但是为什么定义的两个变量名名称相同还能编译通过呢?在Java中是不行的,求解释.^_^
追答第一,编译器完全能够根据作用域来判断当前使用的是哪个具体的变量。
第二,貌似java中所有的成员都得定义在类中,也就是其作用域及可见性只能通过public,private,protected,static来约束,和C++有点不同吧,要不你举个java的例子