您的位置:首页 > 编程语言 > Java开发

java基本类型作为类成员和方法成员时默认值问题

2017-06-03 16:25 429 查看
刚学Android时,就被告知八中基本类型(short、int、long、float、double、char、byte、boolean)都是有默认值的。但是偶尔的一次代码编写过程发现,当在方法中定义变量时,必须要进行初始化,否则会提示错误:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int i;
i++;
}


结果提示“Variable i might not have been initialized”。

经过一番研究才发现,基本类型只有作为类成员时,才有默认值;作为方法成员时,没有默认值,需要手动初始化赋值。

为什么要这么做呢?《Thinking in java》中给出了答案:类成员面向的是该类(甚至其他类)当中多个方法,不同方法功能不同,所以使用目的不一;而方法成员面向的只是该方法,目的简单唯一,如果不进行初始化反倒像是一个bug。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java基本类型