- this 关键字可以用来访问本类的属性,方法,构造器
- this用于区分当前类的属性和局部变量
- 访问成员方法的语法 this方法名(参数列表)
- 访问构造器的语法(this参数列表)注意只能在构造器中使用
- this不能再类定义的外部使用,只能再类定义的方法中使用
用this在本类中调用自己方法用this也是可以的
class Dog{
//系统自动会给一个无参构造器(也叫默认构造器)
//Dog(){}
public void f1(){
System.out.print("f1方法");
}
public void f2(){
System.out.print("f2方法");
//在这里调用我们的f1方法
//第一种方法
f1();
//第二种方法
this.f1();
}
}
访问构造器的语法(this参数列表)注意只能在构造器中使用
public class overload{
//编写一个main方法
public static void main(String[] args) {
// Person p=new Person("小羡",20);
Dog dog=new Dog();
;
}
//流程分析
//1加载person类信息(person.class)只会加载一次
//再堆中分配空间(地址)
//完成对象初始化[默认age=0,name=null.然后显示初始化age=90.最后构造器初始化age=20,name=小倩]
}
//默认构造器如
class Dog{
//系统自动会给一个无参构造器(也叫默认构造器)
//Dog(){}
public Dog(){
this("java",1000);//形参要匹配上,并且代码放第一行。对于访问构造器这样的代码
System.out.print("构造器");
}
public Dog(String name,int age){
//这个也是构造器
System.out.print("我是个构造器");
}
}
我们用了构造器,并用第一个构造器访问第二个并且this放首行,如果不用this的话
Dog dog=new Dog();
}
//流程分析
//1加载person类信息(person.class)只会加载一次
//再堆中分配空间(地址)
//完成对象初始化[默认age=0,name=null.然后显示初始化age=90.最后构造器初始化age=20,name=小倩]
}
//默认构造器如
class Dog{
//系统自动会给一个无参构造器(也叫默认构造器)
//Dog(){}
int age1;
String name4;
public Dog(){
// this("java",1000);//形参要匹配上,并且代码放第一行。对于访问构造器这样的代码
System.out.print("构造器");
new Dog("sd",2);
}
public Dog(String name,int age){
//这个也是构造器
age1=age;
name4=name;
System.out.print("我是个构造器");
}
}
那就是在第一个构造器中再创建一个对象。
访问成员方法的语法 this方法名(参数列表)
class Dog{
//系统自动会给一个无参构造器(也叫默认构造器)
//Dog(){}
int age1=10;
String name4;
public void d(){
int age1=23;
System.out.print(this.age1);
System.out.print('\n');
System.out.print(age1);
}
}