商品管理系统2——数组
商品管理系统是常见的课程作业,这里是专栏第二部分
这里以JAVA语言来进行说明
文章目录
前言
系统一般都用集合实现,但如果用数组过渡,有些要点要注意
在类中方法外,数组不能在创建后,又初始化
而方法中,以上可以
分析
public Customer(){
int cuIDArr[] = new cuIDArr[10];
cuIDArr[0] = 20231001 //尝试给第一个顾客一个账号
}
其初始化无法识别,会显示未识别的标识符
private void register(){
int cuIDArr[] = new cuIDArr[10];
cuIDArr[0] = 20231001
}
-
在方法体内,语法则正确
-
从内存角度解释,在方法外部对数组同时进行初始化和赋值是不允许的,
-
这是因为数组在类中方法体外时,其属于成员变量
-
而成员变量只有在实例化对象时才会分配内存空间,而在方法外部执行的代码实际上是属于类定义阶段,尚未创建对象的阶段,不能同时进行初始化
建议
- 为了在类中正确地初始化和赋值数组,
- 可以在构造方法中或者其他方法中进行操作
- 当类实例化对象时,构造方法会被调用,
- 可以在其中执行数组的初始化和赋值操作,并且此时已经具有了对象的实例,可以访问成员变量并分配内存空间
总结
- 当声明一个数组作为类的成员变量时,只是描述了该成员变量的类型和名称,并没有为数组分配内存空间。只有当类实例化对象后,才会为成员变量分配内存空间
希望大家喜欢我的文章,还请一键三连哦,蟹蟹