Java面向对象this关键字和static关键字
一.this关键字
Java中提供了一个关键字this来指代当前对象,用于在方法中访问对象的其他成员。接下来详细讲解this关键字在程序中的3种常见用法,具体如下:
1.通过this关键字调用成员变量,解决与局部变量名称冲突问题。具体代码如下:
class Person{int age; //成员变量public Person(int age){ //局部变量 this.age = age; //将局部变量age的值赋给成员变量age}t}
在上面的代码中,构造方法的参数被定义为age,它是一个局部变量,在类中还定义了一个成员变量,名称也是age。在构造方法中如果使用“age”,则是访问局部变量,但如果使用"this.age"则是访问成员变量。
2.通过this关键字,具体示例代码如下:
class Person{public void openMouth(){}public void speak(){this.openMouth();}} ;
在上面的speak()方法中,使用this关键字调用了openMouth()方法。需要注意的是,此处的this关键字可以省略不写,也就是说上面的代码写成“this.openMouth()”和“openMouth()”效果是完全一样的。
3.通过this关键字调用构造方法。构造方法是在实例化对象时被Java虚拟机自动调用的,在程序中不能调用其他方法一样去调用构造方法,但可以在一个构造方法中使用“this([参数1,参数2…])”的形式来调用其他的构造方法。
接下来通过一个案例来演示这种形式构造方法的调用:
Example11.java
class Person{public Person(){System.out.println("无参的构造方法被调用了...");}public Person(int age){this();System.out