正在阅读:学习和使用继承时先要清楚的三点学习和使用继承时先要清楚的三点

2004-03-09 09:56 出处:PConline 作者:qlampskyface 责任编辑:linjixiong

  【注1】这种情况下,把该对象强制转换为子类对象时,可以发现,如果子类中覆盖了父类的方法,那么子类的变量被改变了。如下例中。

  【注2】对父类强制转换的结果和默认状态下是相同的,所以,这里只讨论对子类强制转换。

       下面的两个例子混合了上述情况,体验一下,注意8~17处。
  例1.

  public class Temp {
    public static void main(String[] args) {
    Super sub = new Sub();
    sub.plus(3);//默认状态下调用被覆盖了的父类方法---------------------------------8
    System.out.println(sub.i);//调用变量时强制转化,打印结果为0-----------------9
    System.out.println(((Sub)sub).i);//打印结果为11--------------------------------------10
    }
  }

  class Super {
    protected int i=0;
    void plus(int i) {
      this.i =3;
    }
    void print(){
      this.i=5;


 

察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品