6.2.1 成员变量
在java中,对象的属性也称为成员变量,成员变量可以是任意类型,整个类中均是成员变量作用的范围。下面通过一个实例演示成员变量在类中所处的位置。
创建一个Book类,在类中设置一个name属性,并为该属性编写Getter/Setter方法。
public class Book { //Book类
private String name; //Sting类型的成员变量(私有变量)
public String getName() { //name的Getter方法
return name;
}
public void setName(String name) { //name的Setter方法
this.name = name; //将参数值赋予类中的成员变量
}
}
6.2.2 成员方法
在java中,使用成员方法对应于类对象的行为。以Book类为例,它包含getName()和setName()两个方法,这两个方法分别为获取图书的名称和设置图书的名称的方法。
定义成员变量的格式如下:
权限修饰符 返回值类型 方法名称(参数类型 参数名称){ //参数可以是对象,也可以是基本数据类型。
...
return 返回值; //返回值可以是结果,也可以自己定义一个想要的结果,返回类型要与方法类型一致。
}
注意:要使java代码中的成员无返回值,可以使用 void 关键字表示。
6.2.3 权限修饰符
java中的权限修饰符主要包括 private、public、protected,这些修饰符控制着对类和类的成员变量以及成员方法的访问。
访问包位置 | 类修饰符 | ||
---|---|---|---|
private | protected | public | |
本类 | 可见 | 可见 | 可见 |
同包其他类或者子类 | 不可见 | 可见 | 可见 |
其他包的类或者子类 | 不可见 | 不可见 | 可见 |
注意:当声明类没有使用成员修饰符时,则这个类预设为包存取范围,即只有一个包中的类可以访问这个类的成员变量和成员方法。
6.2.4 局部变量
局部变量是在方法被执行时创建,在方法执行结束时被销毁。局部变量在使用时候必须进行赋值操作或被初始化,否则会报错。
在ChangeDemo类中创建静态的exchange()方法,该方法可以将数组参数arr的前连哥元素值互换,通过在方法中定义一个保存临时数据的局部变量tmp,利用tmp交换两个元素的值
public class ChangeDemo {
public static int[] exchange(int arr[]) {
int tmp = arr[0];
arr[0] = arr[1];
arr[1] = tmp;
return arr;
}
public static void main(String[] args) {
int arr[] = {17,29};
System.out.println("第一个值等于:"+arr[0]+",第二个值等于:"+arr[1]);
arr = exchange(arr);
System.out.println("第一个值等于:"+arr[0]+",第二个值等于:"+arr[1]);
}
}
6.2.5 局部变量作用范围
局部变量的作用范围比较简单就不做多的记录。
6.2.6 this关键字
this关键字用于表示本类当前对象,当前对象不是某个new出来的实体对象,而是当前正在编辑的类。this关键字只能在本类中使用。
例如:6.2.1中的图书类steName()方法:
public void setName(String name) { //name的Setter方法
this.name = name; //将参数值赋予类中的成员变量
}
其实上边代码中this关键字的作用就是将形参(String name)中的name赋值给ChangDemo中的变量name起到设置名字的作用。