问答文章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一行去掉呢?

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

表达有点乱,求大神解释!!!创建类的实例时,系统自动分配内存空间,设置默认值,然后,为成员变量指定初始化(如果有的话)。class test{ int a;} 像这样,在程序中实例化并输出会输出 a 为 0,因为默认值的问题,如果像这样 class test{ int a =1;} 因为有初始化所以输出为a 为1。总之当...

java定义变量为什么要初赋值为null

JAVA的成员变量在类编译时,如果没有显示的给值,编译时会给加上默认值(0、false、null等),这也是跟C,C++的编译上的不同,但局部变量就不会(这个JDK的版本有关系,后面的版本应该不加=NULL,也没关系),这主要是跟编译的规则有关系.至于为什么要这样写,这主要是考虑到代码的移值和兼容吧.也...

java中对成员变量的初始化一定要用构造函数吗?可以直接对成员变量赋初...

可以直接赋值的,在构造里写只不过是为了方便,因为使用一个类的时候通常都要先new出该类的实例在构造里赋值,这样在new这个类的实例的时候成员变量就已经被初始化了。方便使用而已。

变量的赋值和初始化有什么区别

赋初值一般而言是指逻辑意义上的初始化。在C语言中,由于初始化的语法是“=”后加初值,所以“赋初值”基本上就是指语法上的初始化。不过随着语言的发展,“赋初值”的意义发生了扩大。对有构造语义但又允许不初始化而不产生编译错误的程序设计语言而言,两者有些微妙的差别。例如C++的构造函数中,用若...

关于C++的初始化与赋值

确实是这个样子的.不过所谓初始化毕竟本身也可以理解为在变量使用之前进行适当的处理,所以在构造函数内用赋值来改变那些平常的变量可以认为是初始化.C++中事实上 =只能在变量声明时进行初始化,但是它的类特性偏偏又不允许在类体的成员变量声明中直接初始化(如果这样,代码本身就会非常不容易读),所以就创立...

c++中构造函数,初始化列表和直接赋值有什么区别吗?

(2) const成员或引用类型的成员。因为const对象或引用类型只能初始化,不能对他们赋值。还有一个赋值次数,效率上的区别,初始化参数列表在对象初始化时对成员变量赋值一次,构造函数内直接赋值,对成员变量赋值两次,一次是对象构造是用默认值进行赋值,第二次是调用构造函数赋值 ...

初始化和赋值有什么区别

说明:赋值操作是在两个已经存在的对象间进行的,而初始化是要创建一个新的对象,并且其初值来源于另一个已存在的对象。编译器会区别这两种情况,赋值的时候调用重载的赋值运算符,初始化的时候调用拷贝构造函数。如果类中没有拷贝构造函数,则编译器会提供一个默认的。这个默认的拷贝构造函数只是简单地...

定义,初始化,赋值的区别

1.定义需要分配存储空间 2.初始化是定义变量时候赋给变量的值;3.赋值是以后用到该变量,赋给该变量新的值;定义是在内存中确定变量的位置、大小。初始化是定义变量时候赋给变量的值(从无到有).赋值是以后用到该变量,赋给该变量新的值.int i;//定义 int i=9;初始化 i= 7;// 赋值 ...

C语言中变量初始化与赋初值有什么不同?

所谓初始化,就是指系统(程序)起始状态时,各种参数(变量)应该取什么样的值,因为系统在reset时,内存数据可能不定,所以需要在程序开始时进行初始化(变量赋值,控制寄存器赋值配置等)。赋初值一般指定义一个变量的同时就赋值。其实,“变量初始化”和“赋初值”只是2种说法,目的都差不多,不必太“...

c++ vs2019告警始终初始化成员变量是什么意思?

就是说你类的构造函数里面要把类的成员变量作下初始化赋值,否则,成员变量可能会处在非初始化的状态(可能是任意值,依据当时所指向的内存地址而定)。参看下面的图示:未初始化成员的代码 初始化了成员的代码。请采纳,谢谢!

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
一战后到二战前的德国是什么样子的大神们帮帮忙 德国现今的政治制度是什么?皇帝是否还存在?若存在,则皇帝在德国的地位如... 为什么觉得这石敢当怎么看起来故事情节和《西游记后传》一模一样呢... 在浙江考过的一级市政建造师到湖北省可以考B吗?可以在湖北省考造价工程... A省某单位职工在B省报名一级建造师考试,请问领证在哪领,考试呢 一级建造师考试A省老考生在下一年去B省考还用再进行审核吗? 前段时间在电视上看到一部电视剧,不知道叫什么名字,剧情是,玉皇大帝让... ...的团团转,任她摆布,几乎什么都听她的。我又 有个很聪明狡猾有心机总是害我对我不好的后妈 我该怎么反击,心里... 梦见一家人在吃饭,老公的旁边多出一个女人,还搂着我老公,亲我老公,老 ... 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上市? 上市跟没上市什么区别?为什么很多人说上市是为了圈钱?
  • 焦点

最新推荐

猜你喜欢

热门推荐