Java中的this关键字是一个引用,它指向当前对象的地址。它可以用于调用当前对象的任何方法或访问当前对象的任何属性。在重写方法时,this关键字非常重要。
public class A { public void method() { System.out.println("A"); } } public class B extends A { public void method() { System.out.println("B"); this.doSomething(); } public void doSomething() { System.out.println("B doSomething"); } } public class Main { public static void main(String[] args) { A a = new B(); a.method(); } }
在上面的例子中,B类继承自A类并重写了method方法。在B的method方法中,我们调用了doSomething方法,并使用了this关键字。这里的this指的是当前对象B,而不是父类A。
在运行时,我们创建了一个B对象,并将其赋给A类的引用。然后我们调用了a.method(),它会调用B类中重写的method方法。在该方法中,先输出“B”,然后再调用了doSomething方法,输出“B doSomething”。
在这个例子中,this关键字非常重要。如果我们不使用this关键字而直接调用doSomething方法(即不写this.doSomething()而是直接写doSomething()),那么方法会调用父类A中的doSomething方法而不是B中的方法。