this关键字用法

2020-04-16 17:25发布



标签: java this
1条回答
祖国的老花朵
2楼-- · 2020-04-16 17:48

这个不是this关键字的用法,属于向上转型问题
你可以执行下这个 看到结果就应该能理解是什么原因了。
public class A {
public int i=10;
void print(){
System.out.println("我是A中的函数");
}
}
class B extends A{
public int i=20;
void print(){
System.out.println("我是B中的函数,我重写了A中的同名函数");
}
void speek(){
System.out.println("向上转型时我会丢失");
}

public static void main(String[] args) {
B b=new B();
A a=b;//此处向上转型
b.print(); System.out.println(b.i);
b.speek();
a.print(); System.out.println(a.i);
((B) a).speek();//a在创建时虽然丢失了speek方法但是向下转型又找回了

}

}

查看更多
登录 后发表回答