java基本类型作为类成员和方法成员时默认值问题
2017-06-03 16:25
429 查看
刚学Android时,就被告知八中基本类型(short、int、long、float、double、char、byte、boolean)都是有默认值的。但是偶尔的一次代码编写过程发现,当在方法中定义变量时,必须要进行初始化,否则会提示错误:
结果提示“Variable i might not have been initialized”。
经过一番研究才发现,基本类型只有作为类成员时,才有默认值;作为方法成员时,没有默认值,需要手动初始化赋值。
为什么要这么做呢?《Thinking in java》中给出了答案:类成员面向的是该类(甚至其他类)当中多个方法,不同方法功能不同,所以使用目的不一;而方法成员面向的只是该方法,目的简单唯一,如果不进行初始化反倒像是一个bug。
@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中类的基本成员的默认值相关问题
- java 引用类型作为方法参数使用问题
- java基本类型作为成员变量时的初始值
- Java中类的基本成员的默认值问题
- Java回顾篇————八种基本变量作为成员变量的默认值。
- java基本数据类型初始值(默认值) ,在设计数据库时造成的问题
- (转载)JAVA中八种基本数据类型的默认值
- Java基本类型默认值
- 2.4-全栈Java笔记:基本类型转化及常见错误和问题
- java 基本数据类型初始值(默认值)
- Java基本数据类型的【取值范围】【占内存大小】【默认值】
- java的基本成员默认值
- Java基础之基本数据类型容易忽略的问题
- main()方法为啥必须要public static void类型的??java中的静态成员
- Java基础知识强化65:基本类型包装类之Integer的构造方法
- Java第一课 Java的一些基本概念,Java的起源、为什么我们要学习Java语言,Java跨平台原理剖析;Java环境变量的配置,初学者常犯的问题,Java语言的基本数据类型和Java的语句。
- java中基本数据类型的相关问题
- Java成员变量常用九类数据类型的默认值
- 两个有趣的关于java里基本类型转换的问题
- Java中基本成员默认值+计算机中负数的表示+按位操作符和移位操作符