this关键字
在Java语言中,this关键字用来代表本类对象的引用,this关键字被隐式地用于引用对象的成员方法。
在项目中创建一个类文件Book,该类中定义了成员变量name,并定义了方法SetName(),并将方法的参数值赋予类中的成员变量,如下:
private void SetName(String name) { //定义SetName()方法
this.name = name; //将参数值赋予类中的成员变量
}
在上述代码中,this.name指的就是Book类中的name成员变量,而this.name = name语句中的第二个name对应的是形参name。SetName()方法的功能就是实现将形参name的值赋予成员变量name。
如果省略了this关键字,直接写成name =name,那就只是将参数name赋给参数变量本身,成员变量name的值没有改变,因为在方法SetName()中参数name的作用域覆盖了成员变量name。
类的构造方法
在类中,除了成员方法外,还存在一种特殊的方法,就是构造方法。
构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。每当实例化一个对象时,类都会自动调用构造方法。
构造方法有两个特点:1)没有返回值;2)名称与本类名称相同。
☆虽然构造方法没有返回值,但是相对于没有返回值的方法使用public void methodEx()方式来说,构造方法在定义时不需要使用void关键字进行修饰。
比如,创建一个名称为Book的类,类中的构造方法定义如下:
public Book() {
…………//构造方法体
}
在构造方法中可以对成员变量进行初始化赋值,这样每当实例化一个本类的对象时,相应的成员变量也将被初始化。
☆如果类中没有明确定义构造方法,编译器会自动创建一个不带参数的默认构造方法。
例:编写一个矩形类,将长和宽作为类的属性,在构造方法中将长、宽初始化,定义一个成员方法求此矩形的面积。
/*
*
* @author Administrator
* 题目:编写一个矩形类,将长和宽作为类的属性,在构造方法中将长、宽初始化,定义一个成员方法求此矩形的面积
* 日期:2020-2-4
*/
public class sl707 {
private float Height; //长
private float Width; //宽
public sl707(float Height,float Width) {//定义构造方法
this.Height = Height;
this.Width = Width;
}
public float square() { //定义成员方法
return Height*Width;
}
public static void main(String args[]) {
sl707 s = new sl707(6.0f,3.0f);
System.out.println(s.square());
}
}
输出结果
18.0