`
wgs7909
  • 浏览: 5194 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

为什么编译器会为类成员赋初始值,而不为方法成员赋初始值?

阅读更多

为什么编译器会为类成员赋初始值,而不为方法成员赋初始值?

不给类成员初始值,而只是声明一下,编译器允许。

但要是不给方法成员赋初始值,编译器就不允许了。

这是为什么?

分享到:
评论

相关推荐

    TechNotesDoc#Notes#函数局部变量赋初始值问题1

    局部变量初始值问题对于局部变量ulAirsCompleFlg,函数本意是进来后必须为0,然后处理后返回,但是实际应用中发现,编译器并不会把ulAirsCompl

    详解C#中使用对象或集合的初始值设定项初始化的操作

    编译器通过先访问默认实例构造函数然后处理成员初始化处理对象初始值设定项。因此,如果默认构造函数在类中声明为 private,那么需要公共访问权的对象初始值设定项将失败。 下面的示例演示如何使用对象初始值设定项...

    C#不同类型的成员变量(字段)的默认值介绍

    创建类的一个实例时,在执行构造函数之前,如果你没有给成员变量赋初始值,C#编译器缺省将每一个成员变量初始化为他的默认值。 如果变量是方法的局部变量,编译器就会认为在使用该变量之前,代码必须给它显示的设定...

    你必须知道的495个C语言问题

    1.19 为什么不能像下面这样在初始式和数组维度值中使用const值?constintn=5;inta[n]; 1.20 constchar*p、charconst*p和char*constp有什么区别? 复杂的声明 1.21 怎样建立和理解非常复杂的声明?例如定义一个...

    《你必须知道的495个C语言问题》

    1.19 为什么不能像下面这样在初始式和数组维度值中使用const值?const int n=5; int a[n]; 10 1.20 const char *p、char const *p和char *const p有什么区别? 10 复杂的声明 11 1.21 怎样建立和理解非常复杂...

    c语言实现pl0编译器的扩充

    c语言实现pl0编译器的扩充: if 条件 then 语句 else 语句 for 变量=初始值 to 终止值 begin 语句 end dowhile 语句 until 条件

    C语言FAQ 常见问题列表

    o 7.18 当数组是函数的参数时, 为什么 sizeof 不能正确报告数组的大小 ? * 8. 内存分配 o 8.1 为什么这段代码不行?char *answer; printf("Type something:\n"); gets(answer); printf("You typed \"%s\"\n", ...

    你必须知道的495个C语言问题.pdf

    1.19 为什么不能像下面这样在初始式和数组维度值中使用const值?const int n=5; int a[n]; 1.20 const char *p、char const *p和char *const p有什么区别? 复杂的声明 1.21 怎样建立和理解非常复杂的声明?例如定义...

    新手学习C++入门资料

    在C++语言中,有了一种新的注释方法,就是‘//’,在该行//后的所有说明都被编译器认为是注释,这种注释不能换行。C++中仍然保留了传统C语言的注释风格/*……*/。 C++也可采用格式化输出的方法: #include ...

    关于JVM的总结

    初始化:在准备阶段已经赋过一个系统要求的初始值,而在初始化阶段则通过程序制定的主管计划去初始化变量和其他资源,从另一个角度理解就是 执行类构造器的()方法 .()方法是由编译器自动收集类中的所有变量的复制动作和...

    JAVA复习资料

    12、在Java中有一种叫作__构造方法__的特殊方法,我们在程序中用它来对类的对象成员进行初始化。 13、面向对象技术具有_封装性___、_继承性___、_抽象性___、多态性等特性。 14、Java中所有类都是类 _Object___...

    C++结构体实例和类实例的初始化

     ② 未指定值的数据成员编译器会自动初始化为默认值  ③ 这种初始化对象方式,要求所有数据成员必须为public型  ④ 这种初始化对象方式,要求类中不能编写任何构造函数 struct S { //cla

    值类型和引用类型的区别

    看见了吧,声明ageInt时并没有赋值,如果关掉第10行代码,程序不会报错,最后打印 出个0,这说明在声明值类型变量时,如果没有初始化赋值,编译器会自动将其赋值为0,既然值类型没有引用,那么它就不可能为空。...

    【05-面向对象(下)】

    •给局部变量赋初始值,只能一次,不能重复。 final修饰基本类型和引用类型 •当使用final修饰基本数据类型时,不能对其重新赋值,不能被改变。 •但对引用类型的变量而言,它仅仅保存的是一个引用,...

    C语言常见问题集 原著:Steve Summit

    如果一个全局变量初始值为 ``零", 它可否作为空指针或浮点零? 2.11 代码 int f() { char a[] = "Hello, world!";} 不能编译。 2.12 这样的初始化有什么问题?char *p = malloc(10); 编译器提示 ``非法初始式" ...

Global site tag (gtag.js) - Google Analytics