MyException - 我的异常网
当前位置:我的异常网» J2ME » 调用父类的方法中this是那个对象,该如何处理

调用父类的方法中this是那个对象,该如何处理

www.MyException.Cn  网友分享于:2013-12-31  浏览:11次
调用父类的方法中this是那个对象
public class Objec {
static class Parent{
private int i = 0;

protected void add() {
i++;
}

public void printOut() {
this.add();
System.out.println(this.i);
}
}
  class Child extends Parent{
private int i=0;
@Override
protected void add() {
 
i=i+2;
}
  }
   
public static void main(String[] args) {
Parent b=new Parent();
b.printOut();
Child a=new Objec().new Child();
a.printOut();
b=a;
b.printOut();

}

}


------解决方案--------------------
当对象是子类对象的时候,
“this.字段”如果出现在父类代码中,指的就是父类属性。
“this.方法”不管出现在父类还是子类代码中,指的都是子类方法。
“this.字段”如果出现在子类代码中,指的就是子类属性。
------解决方案--------------------
this是指当前对象,所以当前对象是什么类型的实例就是什么类型的对象
Parent b=new Parent();
b.printOut(); //this是Parent对象
Child a=new Objec().new Child();
a.printOut();//this是Child对象
b=a;//b指向Child对象
b.printOut(); //所以this是Child对象

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有