此次活动的举办方:Google Study Jams活动官网
Java变量的认识
在Java中变量分为全局变量(成员变量)和局部变量两种。变量,可以理解为属性或者状态,去描述或者修饰类或方法。下面就来具体介绍一下:
一、全局变量(成员变量)
- 概念:全局变量就是一个类里定义的一些私有变量,这些变量属于这个类。在一个类里,全局变量属于这个类(对象)的属性,而类里的方法表示行为。
- 成员变量的声明:通过一段代码简单说明:
public class StudyJamsForum { //代表Study Jams的论坛
String mStudyArea; //学习区
String mNoteArea; //笔记区
String mHelpArea; //互助区
}
在上面的代码中,mStudyArea,mNoteArea,mHelpArea这三个变量就是成员变量,因为这三个变量是这个类所拥有的。
- 成员变量的命名规则:以“m”开头后面和Android控件的命名规则一样采用驼峰式命名规则。如上面的:mStudyArea;
- 成员变量的初始化(赋值):初始化有两种方式:
- 在声明的时候初始化,如下面代码中mStudyArea就是在声明中赋的值:
public class StudyJamsForum { //代表Study Jams的论坛
String mStudyArea = "学习区"; //学习区
String mNoteArea; //笔记区
String mHelpArea; //互助区
}
-
在方法中初始化,如下面代码中mNoteArea就是在方法体中赋的值:
public class StudyJamsForum { //代表Study Jams的论坛 String mStudyArea; //学习区 String mNoteArea; //笔记区 String mHelpArea; //互助区 public static void main(String[] args) { mNoteArea = "学习区"; } }
- 成员变量的作用域:望文生义,全局变量嘛,作用域当然是全局的,意思是整个类里都可以对该成员变量进行操作。
###二、局部变量
- 概念:局部变量和全局变量类似,只不过局部变量是在方法体内声明的并赋值的,是这个方法的私有变量。
- 局部变量的声明:同样还是通过一段代码说明:
public class StudyJamsForum { //代表Study Jams的论坛
public static void main(String[] args) {
int onlineTime; //在线时间
int goldNum; //金币数量
int subjectNum; //主题数量
}
}
在上面的代码中,“**onlineTime**”,“**goldNum**”,“**subjuecNum**”这三个变量就是局部变量,因为这三个变量只能在“**main**”这个方法体内使用。
- 局部变量的命名规则:首字母小写,其余单词首字母大写,即后面同样采用驼峰式命名规则。如上面代码中的:**onlineTime**
- 局部变量的初始化(赋值):初始化也有两种方式:
- 在声明的时候初始化:如下面代码中**onlineTime**就是在声明中赋值:
```
public class StudyJamsForum { //代表Study Jams的论坛
public static void main(String[] args) {
int onlineTime = 99; //在线时间
int goldNum; //金币数量
int subjectNum; //主题数量
}
}
```
- 在声明后初始化:如下面代码中**goldNum**就是在声明后进行赋值
public class StudyJamsForum { //代表Study Jams的论坛
public static void main(String[] args) {
int onlineTime; //在线时间
int goldNum; //金币数量
int subjectNum; //主题数量
goldNum = 666;
}
}
```
- 局部变量的作用域:同样的方式,局部变量只是在局部使用,即方法体内且声明之后对该局部变量进行操作。
三、全局变量和局部变量区别
- 全局变量描述的是这个对象里的属性,而局部变量描述的是这个方法体内的属性。
- 全局变量可以被一些关键字修饰,如public,private,static,final等。
而局部只能被final修饰。 - 成员变量是在堆内存中创建的,而局部变量是在栈内存中创建的。
- 成员变量有系统默认值,而局部变量没有系统默认值
这句话提示我们必须为局部变量“a”赋一个值。
PS延伸:通过看了《Effective Java中文版》第2版这本书,里面提到一节内容:<将局部变量的作用域最小化>,所以这里给出几条提示:
- 将局部变量的作用域最小化,可以增强代码的可读性和维护性,并降低出错的可能性。
- Java允许你在任何可以出现语句的地方声明变量。
- 要使局部变量作用域最小化,最有力的方法就是在第一次使用它的地方声明。
- 将使用局部变量的方法做到小而集中。
四、Java变量的应用和Android布局的创建以及和代码关联
针对Java变量在Android开发中的应用,和Android中布局的创建,以及布局中的控件如何与Java代码关联,在L2的实践中有详细的记录和步骤说明。下面的链接为实践笔记: