Java 中数组的声明方式
int r[] = new int [3];
int[] a = new int[5];
声明时,[] 和变量名 可以不分先后
int[] b = new int[] {1,2,3};
如果 后面有添加元素 int[] 里面的个数不能 设置 否则报错
int[] c = {1,2,3};
// 直接添加元素,前面的 new int[] 可以省略
数组创建时,必须显示指定长度,并在创建之后不可更改长度
数组的扩容
创建一个新的数组 将旧的数组添加到里面
// 数组的复制,从 那个数组复制 那个位置开始 复制到哪个数组 从哪个位置开始添加 复制多少个
System.arraycopy(nums, 0, numbers, 0, nums.length);
数组复制的方式
1,我们自己手写循环实现,定义一个原数组,定义新数组
2.System.arraycopy(nums, 0, numbers, 0, nums.length);
3.int[] numbers = Arrays.copyOf(nums,4);// 拷贝的个数,如果没有就用 0 或者null
值传递和引用传递
值传递 基本数据类型 传递的是值得副本 不会对原来的值发生改变
引用传递 引用数据类型 传递的是地址 会对原来的值发生改变
String 是一个特殊的引用数据类型 不会发生改变
参考下面的链接
https://blog.csdn.net/bntx2jsqfehy7/article/details/83508006这一次,让你彻底明白Java的值传递和引用传递!
全局变量=成员变量=实例变量
局部变量 方法内部定义的
全局变量直接写在类中
局部变量写在方法中
使用范围不同
1全部变量直接写在类中
2.局部变量值在方法内部可以访问
默认值不一样
1.全局变量有默认值
2.局部没有默认值,必须先复制
内存位置不一样
1.全局变量 存在 堆
2.局部变量 存在 栈
生命周期
1.全局变量 是随着对象的创建 而诞生,随着对象呗垃圾回收而死亡
2局部变量 是随着方法进栈而诞生,随着方法出栈而死亡
重载
1.同一个类中
2.方法名称相同
3.参数列表不同,参数的个数 类型 顺序 这三者有一种不同即可
4.跟返回值无关
方法之间可以互相调用,不需要创建对象,直接调用即可
当我们在方法重载的情况下调用,只会根据我们传入的类型,个数,以及顺序来找到对应的那一个方法
当我们编写构造器方法以后,使用成员变量名称一致
构造器方法重载
1同一个类中
2.参数列表不同,个数 类型 顺序