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

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

        那就是通常所说的“继承后使用多态”、“动态方法调度”、“运行时类型识别”了。先不要被上面的术语搞昏头哦:-)

        可以总结为以下两条:

        1.默认状态(和强制类型转换状态相区别)下,该对象(sub)能且只能调用父类方法和父类变量(调用子类方法时会出现编译期错误)。此种情况下,还有两种不同的情况:
           ▲被调用方法是被子类覆盖的方法,这时父类变量不能被该方法修改。【注1】
           ▲被调用方法没有被子类覆盖,这时父类变量可以被该方法修改。
看看下面的代码,注意1~5处。


  public class Temp {
  public static void main(String[] args) {
    Super sub = new Sub();
    System.out.println(sub.i);//打印结果为0----------------------------------------------1
    sub.plus(3);//默认状态下调用被覆盖了的父类方法------------------------------2
    System.out.println(sub.i);//打印结果为0----------------------------------------------3
    sub.print();//默认状态下调用没有被覆盖的父类方法----------------------------4
    System.out.println(sub.i);//打印结果为5:-------------------------------------------5
    }
  }

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


 

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

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

关注我们

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