龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

学习和使用继承时先要清楚的三点[组图]

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
第一点: 那就是 1.假如子类覆盖了父类的方法,那么子类对象调用该方法时,被该方法修改的类级别变量是子类的变量。 !-- frame contents -- !-- /frame contents -- 2.假如子类没有覆盖父类方法

    第一点:

    那就是

           1.假如子类覆盖了父类的方法,那么子类对象调用该方法时,被该方法修改的类级别变量是子类的变量。
   <!-- frame contents -->

<!-- /frame contents -->          2.假如子类没有覆盖父类方法,而直接调用父类的方法,那么被该方法修改的类级别变量是父类的变量。

    1则如下例:

    public class Temp{
    public static void main(String args[]){
      b bb = new b();
      bb.fuqin();
    }
    }
    class a{
    public String s = "fuqin";
    public void fuqin(){
      System.out.println(s);
      }

  
 

进入讨论组讨论。

    }
    class b extends a{
    public String s = "erzi";
    public void fuqin(){
      System.out.println(s);
    }
    }
    //结果为erzi

  
    2.则如下例:

<!-- frame contents -->
<!-- /frame contents -->

    public class Temp{
    public static void main(String args[]){
      b bb = new b();
      bb.fuqin();
    }
    }
    class a{
    public String s = "fuqin";
    public void fuqin(){
      System.out.println(s);
      }

  
 

进入讨论组讨论。

    }
     class b extends a{
    public String s = "erzi";
    public void erzi(){
      System.out.println(s);
    }
    }
    //结果为fuqin

    第二点:

<!-- frame contents -->
<!-- /frame contents -->

    那就是对“覆盖(override)”和“重载(overload)”以及重建的概念的清楚。
    先声明一下:重建就是写一个新的方法。
    如下例:
    下面这个叫覆盖

  
    public class Temp {
      public static void main(String[] args) {
      Sub sub = new Sub();
      sub.plus(2);
       System.out.println(sub.i);
      }

  
 

进入讨论组讨论。

  
  
精彩图集

赞助商链接