JAVA基础之this关键字的使用
2017-06-09 18:36
239 查看
this 关键字代表类自身,主要的使用用途有以下几个方面:
1) 使用this关键字引用成员变量
2) 使用this关键字在自身构造方法内部引用其它构造方法
3) 使用this关键字代表自身类的对象
4) 使用this关键字引用成员方法
引用成员变量
当一个类的方法或构造方法的参数名称和成员变量的名称相同时,使用“this.成员变量名”来区分成员变量和参数;当成员变量和参数名称不同时,可以省略this关键字。代码示例如下:
this.age = age;//this可以bu省略,类的函数中参数名称age和类的成员变量名称age不同
}
this.name = name;//this不可以省略,类的函数中参数名称name和类的成员变量名称name不同
}
}
引用构造方法
当一个类内部的构造方法比较多时,可以只书写一个构造方法的内部功能代码,然后其它的构造方法都通过调用该构造方法实现,这样既保证了所有的构造是统一的,也降低了代码的重复。这样方便以后的代码修改和维护,也方便代码的阅读。
注意:在构造方法内部使用this关键字调用其它的构造方法时,调用的代码只能出现在构造方法内部的第一行可执行代码。这样,在构造方法内部使用 this 关键字调用构造方法最多会出现一次。
示例代码如下:
this.age = age;}
}
代表自身对象
在每个类内部都有一个隐含的成员变量,该成员变量的类型是该类的类型,该成员变量的名称是 this,
示例代码如下:
}
}
引用成员方法
在一个类的内部,成员方法之间的互相调用时也可以使用“this.方法名(参数)”来进行引用,这里的 this 都可以省略
}
}
1) 使用this关键字引用成员变量
2) 使用this关键字在自身构造方法内部引用其它构造方法
3) 使用this关键字代表自身类的对象
4) 使用this关键字引用成员方法
引用成员变量
当一个类的方法或构造方法的参数名称和成员变量的名称相同时,使用“this.成员变量名”来区分成员变量和参数;当成员变量和参数名称不同时,可以省略this关键字。代码示例如下:
public class User{
private String name;
private int age; public User(String name,int a){
this.name = name;//this不能省略,构造函数中参数name和成员变量name相同
age=a; //this.age=a,this可以省略,造函数中参数a和成员变量age名称不同
}
public void setAge(int age){
this.age = age;//this可以bu省略,类的函数中参数名称age和类的成员变量名称age不同
}
public void setName(String name){
this.name = name;//this不可以省略,类的函数中参数名称name和类的成员变量名称name不同
}
}
引用构造方法
当一个类内部的构造方法比较多时,可以只书写一个构造方法的内部功能代码,然后其它的构造方法都通过调用该构造方法实现,这样既保证了所有的构造是统一的,也降低了代码的重复。这样方便以后的代码修改和维护,也方便代码的阅读。
注意:在构造方法内部使用this关键字调用其它的构造方法时,调用的代码只能出现在构造方法内部的第一行可执行代码。这样,在构造方法内部使用 this 关键字调用构造方法最多会出现一次。
示例代码如下:
public class User { private int age;
public User(){ this(0);//这里在不带参数的构造方法内部,使用 this 调用了另外一个带参数的构造方法
} public User(int age){
this.age = age;}
}
代表自身对象
在每个类内部都有一个隐含的成员变量,该成员变量的类型是该类的类型,该成员变量的名称是 this,
示例代码如下:
public class User{User instance;
public User(){
instance = this;//在构造方法内部,将对象 this 的值赋值给 instance
} public void test(){
System.out.println(this);//在 test 方法内部,输出对象 this 的内容,这里的 this 都代表自身类型的对象。
}
}
引用成员方法
在一个类的内部,成员方法之间的互相调用时也可以使用“this.方法名(参数)”来进行引用,这里的 this 都可以省略
public class User{ private String name;
public void live(){
this.eat();//在 live方法内部,引用另一个成员函数,this可以省略。eat()
clothing();//在 live方法内部,引用另一个成员函数,this可以省略。
}
}
相关文章推荐
- 【Java基础知识】继承体系中的成员关系,this,super关键字的使用,数据初始化
- Java基础知识之this关键字的使用
- JAVA基础--关键字 final/static/this/super
- Java关键字this、super使用总结
- java笔记 chapter3使用java类,关键字new,this,变量初始化,引用传递
- java基础:final关键字的深入使用
- Java入门每日小练(二)之this关键字的使用
- this关键字的使用(摘录Thinking In Java)
- Java关键字this、super使用总结
- Java关键字this、super使用总结
- Java 关键字 this super 使用总结
- java基础问题---java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用
- Java关键字this、super使用总结
- Java关键字this、super使用总结
- Java关键字this、super使用总结
- java基础:final关键字的深入使用
- java基础(3)__this,super关键字的用法
- Java关键字this、super使用总结
- JAVA基础 final、static关键字的使用
- Java关键字this、super使用总结