java中this关键字
来源:互联网 发布:mac 禁止休眠 编辑:程序博客网 时间:2024/05/17 01:53
this关键字:
java中this的作用:
(1) 使用this调用的是本类中的方法
(2) this调用本类的中的属性
(3) 可以使用this调用本类中的构造方法
(4) this表示当前对象
1、使用this调用本类中的属性,调用本类中的方法
例子:
class Person{
private String name;
private int age;
public Person(String name,int age){
this.setName(name);
this.setAge(age);
}
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
public String getPerson(){
return "姓名:" + this.name + ",年龄:" + age;
}
}
2、使用this调用构造方法
如果一个类中有多个构造方法,也可以使用this关键字互相调用。需要注意的是:构造方法是在实例化对象时自动调用的,也就是说在类中的所有方法中,只有构造方法是被优先调用的,所以使用this调用构造方法必须也只能放在构造方法的首行。
还需要注意:this调用构造方法时必须要留一个构造方法作为出口,即程序中至少存在一个构造方法是不使用this调用其他构造方法的。
例子:
class Person{
private String name;
private int age;
public Person(){
System.out.println("一个新对象被实例化");
}
public Person(String name,int age){
this();
this.name = name;
this.age = age;
}
public String getPerson(){
return "姓名:" + this.name + ",年龄:" + age;
}
}
3、this表示当前对象
当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this引用。如下面这个例子中:
public class A {
String s = "Hello";
public A(String s) {
System.out.println("s = " + s);
System.out.println("1 -> this.s = " + this.s);
this.s = s;
System.out.println("2 -> this.s = " + this.s);
}
public static void main(String[] args) {
new A("HelloWorld!");
}
}
运行结果:
s = HelloWorld!
1 -> this.s = Hello
2 -> this.s = HelloWorld!
在这个例子中,构造函数A中,参数s与类A的变量s同名,这时如果直接对s进行操作则是对参数s进行操作。若要对类A的变量s进行操作就应该用this进行引用。运行结果的第一行就是直接对参数s进行打印结果;后面两行分别是对对象A的变量s进行操作前后的打印结果。
- java中this关键字
- Java中this关键字
- java中this关键字
- java中this关键字
- java中this关键字
- java中this关键字
- Java中this关键字
- java中This关键字
- java中this关键字
- java中this关键字
- Java中this关键字
- Java中this关键字
- java中this关键字
- Java中this关键字
- java中this关键字
- java中this关键字
- java中this关键字用法
- java中this关键字使用
- TelephonyManager类方法详解
- Week1-3Quick Union
- iOS架构设计专题
- ccf 201412-3 集合竞价
- Eclipse去除js(JavaScript)验证错误
- java中this关键字
- openstack部署(2)-安装keystone组件
- Android中线程池的使用
- 指针
- SPNEGO, NTLM and Kerberos
- Android开发使用的常见第三方框架汇总
- iGrimace IG 各版本区别
- css样式表中的样式覆盖顺序(转)
- hdu5171 GTY's birthday gift 矩阵快速幂求斐波那契前n项和,矩阵快速幂模板