`
langgufu
  • 浏览: 2296484 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

类的域(field ,数据成员)是基本类型时的默认值

 
阅读更多

若某个基本类型字段属于一个类,那么即使不明确(显式)进行初始化,也可以保证它们获得一个默认值。

基本类型    默认值

Boolean   false
Char       '\u0000'(null)
byte         (byte)0
short       (short)0
int              0
long           0L
float           0.0f
double       0.0d

一旦将变量作为类成员使用,就要特别注意由Java分配的默认值。这样做可保证基本类型的成员变量肯定得到了初始化(C++不具备这一功能),可有效遏止多种相关的编程错误。
然而,这种保证却并不适用于“局部”变量——那些变量并非一个类的字段。所以,假若在一个函数定义中写入下述代码:
int x;
那么x会得到一些随机值(这与C和C++是一样的),不会自动初始化成零。我们的责任是在正式使用x前分配一个适当的值。

如果忘记,就会得到一条编译期错误,告诉我们变量可能尚未初始化。这种处理正是Java优于C++的表现之一。许多C++编译器会对变量未初始化发出警告,但在Java里却是错误。

分享到:
评论

相关推荐

    java基本数据类型习题(选择24).pdf

    14. JAVA语言简单数据类型:以 0 开头的整数代表 8 进制常量,以 0x 或者 0X 开头的整数代表 16 进制整型常量,boolean 类型的数据作为类成员变量的时候,系统默认值初始为 false,double 类型的数据占计算机存储的 ...

    MybatisPlus常用字段默认值自动填充.docx

    `@TableField(fill = FieldFill.INSERT)`表示在插入数据时自动填充,而`@TableField(fill = FieldFill.INSERT_UPDATE)`表示在插入和更新时都会填充。以下是一个`User`实体类的例子: ```java public class User { ...

    动态设置django的model field的默认值操作步骤

    在Django中,Model Field的默认值是一个非常关键的概念,它决定了当没有明确提供值时字段应如何初始化。在某些场景下,我们可能需要根据环境变量或其他动态条件来设置这些默认值。本文将详细探讨如何在Django中动态...

    JavaSE062Class类、Method类及Field类的使用方式深度探析.doc

    JavaSE062Class类、Method类及Field类的使用方式深度探析 JavaSE062Class类、Method类及Field类是Java中三个非常重要的类,它们都是Java反射机制的核心组件。在Java中,反射机制是指可以在运行时检查和修改类、方法...

    解析Java中的Field类和Method类

    6. **基本类型专用方法**:Field类还提供了如`getShort()`和`setShort()`等针对基本类型的方法,可以直接操作基本类型的字段,避免了自动装箱和拆箱的过程。 Method类: Method类则代表类的方法。它的主要特性包括...

    hive数据类型共6页.pdf.zip

    Hive允许用户在创建表时定义列的数据类型,并且在插入数据时会自动进行类型检查。同时,Hive支持数据类型的隐式转换,但在某些情况下可能会导致数据丢失或错误。因此,在编写SQL查询时,应确保操作符两侧的数据类型...

    第二章 C语言的数据类型.docx

    在C语言中,数据类型是编程的基础,它决定了变量如何存储和操作数据。本章主要讲解了C语言的四种基本数据类型...后续章节会更深入地探讨存储类型和作用域,以及其他构造数据类型如枚举(enum)和位字段(bit-field)。

    反射之 操作 Field 成员变量类以及反射授权.md

    反射之 操作 Field 成员变量类以及反射授权.md

    Finite Field Arithmetic 有线域算术

    主要介绍Prime field arithmetic, Binary field arithmetic, Optimal extension field arithmetic等几个域的一些基本算术问题

    Aspose.Words中提取域中有效内容

    本篇将详细探讨如何利用Aspose.Words来提取Word文档中的域(Field)中有效内容,即用户在文档中看到的实际文本,而非域代码。 首先,我们需要理解什么是域。在Word文档中,域是一种特殊的代码结构,用于插入动态...

    深度学习在Multi-field Categorical数据集上的应用-张伟楠

    深度学习在Multi-field Categorical数据集上的应用-张伟楠,欢迎下载

    vant的field组件(autocomplete)

    在项目中使用这个自定义的`AutoCompleteField`组件时,可以通过传入`data`属性来指定自动完成的建议数据,同时可以通过`@confirm`事件捕获用户选择的建议值。这样,用户就可以在一个统一的输入框内享受到自动完成的...

    Field_II学习资料_fieldII怎么学习_FIELDII_FieldII_matlab_学习笔记_源码

    学习Matlab编程,特别是关于数据处理和图形显示的部分,将大大提升你的Field_II应用水平。 在学习过程中,建议按照以下步骤进行: 1. **基础知识**:先了解电磁场的基础理论,如麦克斯韦方程和矩量法,这将有助于...

    go代码-测试:用map不存在的key的值赋值给变量,则变量是map对应值类型的默认值。

    在Go语言中,`map` 是一种关联数据结构,它允许我们将一个值(称为键)映射到另一个值(称为元素或值)。当你尝试访问一个不存在的键时,Go不会抛出异常,而是会返回该类型的一个零值。这一点与许多其他编程语言不同...

    Field-II.zip_Field II 仿真_Field_II仿真_beguniux_field-ii_声场仿真

    Field II 是一个专业的声场仿真软件,主要用于超声波成像和声学研究。这个压缩包包含了一系列与Field II仿真相关的文件,让我们一一解析其中的知识点。 首先,"kidney_cut.bmp" 可能是一个示例图像,展示了肾脏的切...

    8583报文及各域的详解

    2. 域定义(Field Definition):定义了每个域的属性,如数据类型、长度、变长标志等。 位图的结构为: * 位图位置:1 * 格式:定长 * 类型:B16(二进制16位,16*8=128bit) * 描述:位图的第一位用于指示是否...

    Java反射机制,通过对象访问调用类的私有成员或方法

    Java反射机制是Java编程语言中一个强大的特性,它允许程序在运行时动态地获取类的信息并操作类的对象。这一机制的核心在于,Java程序可以获取到关于任何类的内部信息,包括类名、属性、方法、构造器等,并能在运行时...

    Java操作Redis的多种数据类型

    哈希类型允许我们将多个字段(Field)和对应的值(Value)存储在一个键下,类似于Java中的Map。Java中,我们可以使用`hset`来设置字段值,`hget`获取字段值,`hgetAll`获取所有字段和值,以及`hdel`删除字段。哈希...

    Reids各种数据类型操作工具类,巨详细

    本文将详细介绍一个针对Redis各种数据类型的工具类,该工具类提供了详尽的操作方法,经过测试,确保无误。 首先,Redis支持的数据类型包括字符串(String)、哈希表(Hash)、列表(List)、集合(Set)和有序集合...

Global site tag (gtag.js) - Google Analytics