声明 定义 java_Java:定义术语初始化、声明和分配
声明不是将“值”声明为变量,而是声明类型变量。
赋值只是将一个值存储到一个变量。
初始化是将值赋值给变量。在申报时.
这些定义也适用于字段。
int i; // simple declaration
i = 42 // simple assignment
int[] arr = { 1, 2, 3 };
// declaration with initialization, allows special shorthand syntax for arrays
arr = { 4, 5, 6 }; // doesn't compile, special initializer syntax invalid here
arr = new int[] { 4, 5, 6 }; // simple assignment, compiles fine
但是,应该指出,“初始化”对于“变量的第一次赋值”也有一个更为宽松的定义,无论它发生在何处。
int i; // local variable declaration
if (something) i = 42;
System.out.println(i);
// compile time error: The local variable i may not have been initialized
然而,这汇编了:
int i; // the following also compiles if i were declared final
if (something) i = 42;
else i = 666;
System.out.println(i);
这里i可以通过简单的赋值从两个可能的位置“初始化”。因为这个,如果i是一个数组,您不能对此构造使用特殊的数组初始化器简写语法。
因此,基本上“初始化”有两个可能的定义,取决于上下文:
在最狭窄的形式下,这是一个任务与声明相结合的时候。
它允许,除其他外,特殊的数组速记初始化器语法。
更普遍的情况是,当第一次给变量赋值时。
它允许,除其他外,分配给final变量在多个地方。
编译器将尽最大努力确保这些分配中的一项能够发生,从而“初始化”final变量
还有JVM上下文类和实例初始化,OOP上下文对象初始化等。
声明 定义 java_Java:定义术语初始化、声明和分配相关推荐
- 【C 语言】结构体 ( 结构体类型变量初始化 | 定义变量时进行初始化 | 定义隐式结构体时声明变量并初始化 | 定义普通结构体时声明变量并初始化 )
文章目录 一.结构体类型变量初始化 1.定义变量时进行初始化 2.定义普通结构体时声明变量并初始化 3.定义隐式结构体时声明变量并初始化 二.完整代码示例 一.结构体类型变量初始化 1.定义变量时进行 ...
- java 成员变量声明顺序_C++核心准则讨论:按照成员声明的顺序定义和初始化成员变量...
Discussion: Define and initialize member variables in the order of member declaration 讨论:按照成员声明的顺序定义 ...
- 变量的声明、变量的定义、变量的初始化
变量的声明:用于向程序表明变量的类型和名字. 变量的定义:用于为变量分配存储空间,还可以为变量指定初始值. 变量的初始化:为变量指定初始值. 广义上来说,变量的声明有两种情况: 1.需要建立存储空间的 ...
- C++ 笔记(13)— 函数(函数声明、函数定义、函数调用[传值、指针、引用]、函数参数默认值、函数重载)
每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数. 1. 函数声明 函数声明告诉编译器函数的名称.返回类型和参数.函数声明包括以下几个部分: ret ...
- 声明变量和定义变量的区别是什么?
1.什么是定义,什么是声明 (1)在 C语言中,使用变量之前必须先定义变量.所谓定义变量,就是编译器创建了一个变量,为这个变量分配一块内存并命名(变量名).例如,定义整型变量 a. int a; 这条 ...
- C语言中变量声明和变量定义的区别
本文转载至CSDN博客JeanCheng 变量声明和变量定义 变量定义:用于为变量分配存储空间,还可为变量指定初始值.程序中,变量有且仅有一个定义. 变量声明:用于向程序表明变量的类型和名字. 定义也 ...
- 变量声明与变量定义的区别
1.变量定义 1.1.第一种方式 int a 定义变量但不初始化 创建一个变量,为这个变量分配一块int数据类型所占内存空间大小的内存空间并命名 1.2.第二种方式 int a = ...
- 申明(声明)、定义及默认参数
变量定义:用于为变量分配存储空间,还可为变量指定初始值.程序中,变量有且仅有一个定bai义. 变量声明:用于向程序表明变量的类型和名字. 区别: 定义也是声明,extern声明不是定义.定义分配存储空 ...
- JS基础篇--函数声明与定义,作用域,函数声明与表达式的区别
Scoping & Hoisting 例: var a = 1;function foo() {if (!a) {var a = 2;}alert(a); };foo(); 上面这段代码在运行 ...
- java编写一个程序_计算已知长和宽的长方形的周长,请教一下大佬们,我们java留了一个作业,编写程序,定义一个接口Comput,声明计算周长和面积的方法...
//编写程序,定义一个接口Compute,声明计算周长calgirth()和面积calarea ()的方法,然后定义一个长方形类RRect和圆类Circle,两个类都实现接口Compute,最后进行测 ...
最新文章
- mongodb拆库分表脚本
- golang runes 字符串 互转
- LeetCode - Search a 2D Matrix
- net与树莓派的情缘-安装与卸载MySql(五)
- java 标记_Java中的标记语句块?
- Eclipse 高清显示屏 图示太少
- 【Python:统一时间格式YYYY-MM-DD】时间数据、格式处理、并根据时间合并dataframe
- multisim中pwl_multisim元器件
- My God,CImage裁剪图片变成黑色了
- html轮播图背景色,轮播图的做法(更换背景颜色)
- JAVA GUI创作简易记牌器
- 【清晖诗社】“立秋” 诗意浓,佳作有奖征集ing!
- 二进制部署高可用Kubernetes v1.17.x
- 拼多多 果园api分析 拼多多 anticontent 解密
- Java Security(JCE基本概念)
- C 修改服务器代码,rpg c 游戏服务器代码大全
- java密码复杂度匹配规则
- 安装turtle-0.0.2 和 pyinstaller
- Generating project in Batch mode很慢问题
- 【单片机仿真项目】8×8 LED点阵图形显示
热门文章
- python安装pyqt5第三方_搭建pyqt5开发环境(python3+pycharm2019+pyqt5)
- linux任务调度语法,linux crond任务调度-Go语言中文社区
- hpux oracle9,oracle 9i,10G,11G,各版本下载资源
- 在日常办公能做什么_日常生活中电烤箱能烤制什么美食呢?
- docker 镜像加速
- 最真实的办公自动化案例!
- 对标 VS Code,JetBrains 的下一代 IDE :Fleet
- 3.2 亿人都在刷抖音,而优秀的人在看这些公众号
- java 找茬,找茬。解决方法
- aspectj表达式如何书写_化学平衡常数的表达式书写