Java学习第十一天
一、今天干了什么
1.this关键字的使用
(形参名和属性名重名时使用)
作用:
可以用来修饰、调用:属性、方法、构造器
this修饰属性和方法时,理解为:当前对象或当前正在创造的对象
//定义一个Person类
class Person() { private String name; private int age; public void setName(String name) { this.name = name; //this的使用,第一个name是属性,第二个name是形参 } public String getName() { return name; } public void setAge(int age) { this.age = age; //this的使用 } public int getAge() { return age; } }
在类的方法/构造器中,我们可以使用“this.方法”或“this.属性”的方式调用当前对象/正在创建的对象的方法和属性,但是通常情况下省略this.
特殊情况下,如方法的形参和类的属性重名时,我们必须显式地使用“this.变量”的方式,表明此变量为属性,而非形参
//构造器 public Person(String name, int age) { this.name = name;
this.age = age; }
public Person()
{
}
this 调用构造器(在构造器中调用构造器):
通过使用“this.(形参表)”的方式来调用本类中指定的其他构造器, 不能通过这种方式调用自己
注意:
(1)如果一个类中有n个构造器,则,最多有n-1个构造器中使用了“this.(形参表)”;
(2)“this.(形参表)”必须声明在当前构造器的首行;
(3)构造器内部,最多只能声明一个“this.(形参表)”,用来调用其他构造器。
public Person() //构造器(1) { //写入Person初始化时需要考虑的情况:1、2、3、4…… } public Person(int age) //构造器(2) { this(); //调用空参的构造器(1) this.age = age; } public Person(String name, int age) // 构造器(3) { this(age); //调用形参为age的构造器(2) this.name = name; //this.age = age; 这一条代码可以注释掉,因为使用this(age)的时候已经将该值赋值给当前正在构造对象的age变量! }
2.复习了面向对象已学的知识点