class是一个数据类型
C++明确规定除静态的成员变量外,都 不能赋值,因为是不能分配存储空间,只有对象才有
但是java中 类的成员变量可以赋初值 怎么理解??
java 类的成员变量与C++比较
答案:5 悬赏:70 手机版
解决时间 2021-03-18 11:15
- 提问者网友:献世佛
- 2021-03-18 05:32
最佳答案
- 五星知识达人网友:低音帝王
- 2021-03-18 06:36
java中类的成员变量可以赋予初值,你可以认为是相当于在C++中的构造函数中赋值。
楼上都没说到点子上。本质上是java和C++的对象构造过程不同。C++在执行构造函数的时候,这个对象还没构造完毕,在此之前对象都不存在,所以不能在之前赋值,最早也要在构造函数的初始化列表才能赋初值;而java的构造函数执行的时候,对象已经构造完毕了,构造函数只是进行了一个初始化而已。在此之前是允许对成员变量赋初值的。
楼上都没说到点子上。本质上是java和C++的对象构造过程不同。C++在执行构造函数的时候,这个对象还没构造完毕,在此之前对象都不存在,所以不能在之前赋值,最早也要在构造函数的初始化列表才能赋初值;而java的构造函数执行的时候,对象已经构造完毕了,构造函数只是进行了一个初始化而已。在此之前是允许对成员变量赋初值的。
全部回答
- 1楼网友:未来江山和你
- 2021-03-18 10:42
java 严格区分 char 和 string
char 只能用 'a', 单引号, 或者数字, 数字是字符的另一种码,
只有字符串string,才能用双引号
- 2楼网友:北城痞子
- 2021-03-18 09:44
java中定义的基本变量和对象的引用变量是在栈内存中的,至于数组和对象本身在堆内存中分配,前者可以理解为指针,程序运行超出作用域后,前者被释放,后者继续存在,但成为垃圾,等待随机时间被回收。
- 3楼网友:十年萤火照君眠
- 2021-03-18 08:24
在java中所有的成员变量都定义在类中,可以理解成变量在生成的时候已经开辟了一片控件,并有指针指向初始值
- 4楼网友:第四晚心情
- 2021-03-18 07:36
具体我也忘了,楼主可以用工具调试一下,观察内存变量变化
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯