1、this是什么?
this是一个关键字。
是一个变量,一个引用。this保存当前对象的内存地址,指向自身。所以,this代表的就是"当前对象"
(this存储在堆内存当中对象的内部。)
2.this ()这个语法作用是什么?
代码复用。
3.
this只能使用在实例方法(和构造方法)中。谁调用这个实例方法,this就是谁。
4.this省略情况"
this."大部分情况下是可以省略的。(用来区分实例变量和局部变量时,不能省略)
5.为什么this不能使用在静态方法中?
this代表的是当前对象,而静态方法的调用不需要对象。(静态方法通过类名调用)
6.构造方法中的this
- 1.this除了可以使用在实例方法中,还可以用在构造方法中。
- 2.新语法:通过当前的构造方法去调用另一个本类的构造方法
语法格式:
this(实际参数列表);
public class Student {
public static void main(String args[]) {
Message m = new Message(1,"小红");
m.show();
Message m1 = new Message(2,"小明");
m1.show();
Message m2=new Message();//调用无参数构造方法
m2.show();
}
}
class Message{
private int no;
private String name;
public Message(){
this(3,"小杨");//通过this调用有两个参数的构造方法
}
public Message(int no,String name){
this.no=no;
this.name=name;
}
public void show(){//定义一个输出方法
System.out.println("学号:" + no + "姓名:" + name);
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setNo(int no) {
this.no = no;
}
public int getNo(){
return no;
}
}
结果:
学号:1姓名:小红
学号:2姓名:小明
学号:3姓名:小杨
通过一个构造方法1去调用构造方法2,可以做到代码复用。但需要注意的是:"构造方法1和"构造方法2”都是在同一个类当中。
- 3.对于this ()的调用只能出现在构造方法的第一行。
l