Think in java 第六章,类再生

解决方案 »

  1.   

    "this"就是这个对象本身。this.f()就等价f(),如果该类没有f()方法,就会在父类中寻找f()方法,父类中没有就会到父类的父类中找。super.f()将会调用父类的f()方法,即使该类有一个f()方法覆盖了父类的f(),还是会调用父类的。
      

  2.   

    你不用找什么好书,只要看一下sl275就行了。
    http://www.cnjavaclub.com/06/edocument/suncert/sl275.rar
      

  3.   

    其实这个并不难,既然你要考试了,也没时间去看书了,下面时我的一点见解,希望对你能有帮助
     继承,它是一种类再生的手段,就是通过继承母一个已有类来产生自己编程的类,
    与它相对应的是合成(也有的称合并)。
     继承,从概念上来说就是通过这种手段来获得以由类的共享的数据和方法,当然这些方法你不可能直接修改,因为它被封装成一个黑盒子,具体方法对外不可见只有方法名可见,就是接口。但你可以重载那些方法,来达到自己所要的功能。
          在实现上它是通过保留字extends实现的;如下:
     public class newclassname extends oldclassname{
    }
    但在现实编程中,对于类的再生一般先考虑合并,通过委托来实现自己的功能,如下:
    class shape{
     public draw(){}
    }
    class rectangle
     shape rect;
      public draw{
       rect.draw;
      } 
    }
    这种方法非常好用,如果原来的类的功能与所需功能相差很大,那你只好用继承了
    如下:
    class rectangle extends shape{
     public draw();此处即为重载
    }
    希望这能对你有些帮助,祝你考试成功!
      

  4.   

    假定我们在一个方法的内部,并希望获得当前对象的句柄。由于那个句柄是由编译器“秘密”传递的,所以没有标识符可用。然而,针对这一目的有个专用的关键字:this。this关键字(注意只能在方法内部使用)可为已调用了其方法的那个对象生成相应的句柄。可象对待其他任何对象句柄一样对待这个句柄。但要注意,假若准备从自己某个类的另一个方法内部调用一个类方法,就不必使用this。只需简单地调用那个方法即可。当前的this句柄会自动应用于其他方法。