java静态方法和main函数里的同名数组是怎么一种关系?

来源:百度知道 编辑:UC知道 时间:2024/06/19 05:46:33
静态方法和main函数里的同名数组是怎么一种关系?
一小程序有几个静态方法,其中一个静态方法A有一个数组chars用来装产生的随机字母的,另一个方法B调用chars数组来累计产生字母的次数;同时在main函数里也有一个新chars,为什么静态方法没有调用main里的chars数组,而调用的都是a方法的chars呢?

main不算静态方法?
这是一种什么关系,新手还望各位大侠指教。

main方法中你是new了一个chars数组吧,如果是这样的话,这个数组就不是静态的了,明白我的意思么?

尽管main是静态方法,它其中的new的一个chars数组也是这个方法的私有变量。

静态方法也能有自己的局部变量啊,只是静态方法不能调用类的非静态变量,只能调用类的静态变量。
所以两个同名数组没有任何关系

你在main方法是调用了createArray();没有new吧

静态方法和静态属性是不同的。
如果你需要调用不同的chars,可以在类中写几个方法(可以是静态),让他return chars,
最好不要在其他方法中调用main。

看着晕

能把程序贴出来么?

你这程序中一共声明了几个chars,分别在什么地方
最好能把你的代码贴出来。
弄清楚声明跟调用的时间。

在main函数里的新chars,是否是在main方法中声明的,如果是,那是局部变量。只在该方法体中有用。

A方法中的数组chars是否是声明在方法体外的?是否是全局变量?如果是,那除了mian方法体中声明的同名chars变量外,其他的调用的都是同一个chars。

另外,在一个类中,声明多个同名的变量,是十分不当的,请尽量避免。