文章目录
在Java中,类继承时会经常用到this和super关键字,在这里做一下简单的总结,如果有错误希望大家指正。
this
this是自身的一个对象,代表对象本身,可以看作:指向对象本身的一个指针。
一般来讲,this有三种用法。
1.引用当前对象
这个没什么好说的,this本身就可以看作对象本身的一个指针。放在类里表示类的本身的对象,可以使用类中的属性和方法。
2.当方法的形参和成员名字相同时加以区分
在Java中,如果一个方法的形参和方法里面的成员名字相同时,Java会采用就近原则。
如:
public class Test{
public static void main(String[] args) {
TestOne test = new TestOne();
test.method(2);
System.out.println(test.i);
}
}
class TestOne{
int i;
void method(int i){
i = i;
}
}
输出结果为:
可以看到,i并没有变成2,还是默认的0.因为Java语言中会采取就近原则,方体体中的i是最近的i,相当于i把值赋给了自己本身,形参里面的i并没有用到。
如果解决这一问题?这个时候this就派上了用场。
如:
public class Test{
public static void main(String[] args) {
TestOne test = new TestOne();
test.method(2);
System.out.println(test.i);
}
}
class TestOne{
int i;
void method(int i){
this.i = i; //在这里添加了this
}