在java中数组的声明方式有三种,new放在堆内存int a =new int[]{1,2},还有动态和静态声明,可这三种声明该怎么和下图的三种生命匹配,还是说两者不是一件事情![](https://userblink.csdnimg.cn/20210430/unknowmer/pic/44b9700088c1c9e407a7bbca86df48d7-0.jpg)
![](https://userblink.csdnimg.cn/20210430/unknowmer/pic/44b9700088c1c9e407a7bbca86df48d7-0.jpg)
看起来不是同一个东西, ,一个是数组的创建方式, 另外一个看截图的描述,像是作用域,但是和java中并不能完全对应。
可以什么private, default ,protected, public来控制外部类的调用权限, 声明在方法中,代码块中就是局部使用的。
Class A {
// 可以在外部访问,即可以对应上文的公用
public int[] a = new int[3];
// 只能本类访问使用,对应上文的2
private int[] b = new int[3];
public void method() {
// 只能本方法这个局部范围使用,对应上文的3
int[] c = new int[3];
}
}