问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

类成员变量初始赋值有什么意义么?

发布网友 发布时间:2022-04-25 23:43

我来回答

5个回答

热心网友 时间:2023-10-18 11:36

有意义,不能去掉

因为你调用改了this.i,this就是找全局变量(或方法),如果你去掉了,那这一行会报错。

而你第一个输出的i是传进来的参数,与下面的不冲突,如果你分不清,可以换个名字,但实际上,bean里的set都是一样的,就是this来区分。


class Bean {

    private String name;

    public void setName(String name) {
        this.name = name;
    }
}

热心网友 时间:2023-10-18 11:37

当系统加载类或创建该类的实例时,系统自动为成员变量分配内存空间,设置默认值,然后,为成员变量指定初始值。但是,如下所示:
class test{
int a = b+1;
int b =1;
}提示错误!
执行顺序不是大致可以认为是这样么:
int a = 0;
int b = 0;
a = b+1;
b = 1;
(感觉大致就是这样子吧)
如果是这样的话上边当int a = b+1时b应该已经有默认值了,但为什么报错啊?
表达有点乱,求大神解释!!!
创建类的实例时,系统自动分配内存空间,设置默认值,然后,为成员变量指定初始化(如果有的话)。
class test{
int a;
}
像这样,在程序中实例化并输出会输出 a 为 0,因为默认值的问题,
如果像这样 class test{
int a =1;
}
因为有初始化所以输出为a 为1。
总之当成员变量分配内存后,应该是有默认值的,顺序应该是:

int a;
int b;(这里应该都在分配内存时指定默认值为0了)
然后 再执行初始化:
a = b+1;
b = 1;
就这样子吧比如下面程序是对的
class{
{
a = 1;
}
int a =2;
}

热心网友 时间:2023-10-18 11:37

java中,全局变量如果不给初始值,编译器是会默认赋值的,数字默认是0,对象默认是null等等...

我觉得你想问的是,这里声明的时候赋值有什么作用,因为不赋值也是可以的。

就我自己的体会,在一些属性是标记位的时候常常会这么做,比如标记一个状态的属性,status,有几种状态,1表示新插入,2表示已经处理,3表示删除了。可以看出1是默认状态码,每次都给status赋值为1很麻烦,所以就声明的时候顺便初始化为1,这样,new出来之后,不用再管这个属性了。

热心网友 时间:2023-10-18 11:38

变量首先需要被定义 然后才能对其操作 否则编译都无法通过

热心网友 时间:2023-10-18 11:39

去掉 i=9 的话 i是默认值0
xx函数中使用的 i 都是是入力的参数 i,
只有this.i 才是使用成员变量的追问如果把this一行去掉呢?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 C语言中fgets()函数怎么初始化int类型的变量 怎样将int类型赋值为空 给某整型变量初始化,int i和int i = 0有什么区别???(c++中) java中,在实例化一个类时,这个类中没有初始值的int类型成员变量i,i的值是不是0? c语言问题——未初始化int变量的初值 JAVA中int类型默认值是多少? Java 变量到底要如何初始化 java中怎么给变量初始化? int型的默认值是什么? java小问题:int型的默认值是? c++ int类型默认值是多少? XO代表什么意思? 毕业生就业协议书是什么?如何签? 如何查询毕业生就业协议书编号 兴业信用卡帐单日是8号还款日是几号? 《毕业生就业协议书》可否邮寄 应届毕业生的就业协议书编号可以在网上查询吗,怎么查,急! 应届生—>就业协议书 我的兴业信用卡账单日是16号,还款日是多久?谢谢 兴业银行信用卡账单日后几天还款吗 int是不是只有在全局变量时才自动初始化为0?其它内置变量类型呢? java中未给int变量赋初值不是默认为0吗?为什么不能输出0,提示未初始化变量 定义一个int类型的变量并初始化,如果成绩大于等于80,,输出成绩优秀 Activity的final int类型的成员变量应该怎么初始化??? 为什么只要公司一上市总会挣钱呢? 电脑怎么截屏excel的图片 java中的int变量刚定义就一定要赋值吗? 上市,就相当于是在圈钱吗? 谁知道太仓的经济适用房怎么申请 上市公司与非上市公司有哪些区别?为什么有人说上市是为了圈钱? excel怎么截屏图片 为什么很多创业板公司上市的目的明显就是圈钱套现,却没有有效的惩处办法? 上市圈钱是什么意思 excel表如何截屏 为什么说股票上市就是圈钱 我们能申请江苏太仓的经济适用房吗? 都说“上市圈钱”,请教什么意思,为什么这样讲? 上市公司在股市上是如何圈钱的? A股市场圈钱严重,怎样才能阻止以圈钱为目的的IPO上市? 上市跟没上市什么区别?为什么很多人说上市是为了圈钱?