问题1:
如何实现多重接口的多态?
  比如 
public MyClass implements interface1 , interface2 {
  ……

  如果我要调用interface1里的方法,那么我可以:
interface1 test = new MyClass(); //然后就可以调用 interface1里的方法了
  如果我要调用interface2里的方法,那么我可以:
interface2 test2 = new MyClass(); //然后就可以调用 interface2里的方法了
  那如何实现多态呢??问题2:
  什么叫做,把方法的行参指定为接口类型??书上对于接口类型的方法形参,一笔带过所以想请教一下~~

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【llm0528】截止到2008-06-25 10:32:17的历史汇总数据(不包括此帖):
    发帖数:27                 发帖分:570                
    结贴数:27                 结贴分:570                
    未结数:0                  未结分:0                  
    结贴率:100.00%            结分率:100.00%            
    敬礼!
      

  2.   

    你首先要理解什么叫多态。呵呵,什么叫实现多态,你的目的何在呢?你可以再继承一个子类,然后创建一个子类把引用给父类,使用父类来调用,这样就行程了一个多态。问题2: 就是说方法的参数你用接口 ,比如 void method(Interface1 interface)//这里参数就是一个接口
      

  3.   

    JAVA中没有多继承,而用接口实现了多继承!一个类或是可以同时实现多个接口!(就相当于C++里一个类同时继承了多个类!)例如: 
    public class Son implements Father1,Father2,Father3{ 

    接口有利于代码功能的扩展(增加新的功能)!而继承则有利于代码功能的修改(把旧的功能改成新的功能)!这里旧功能的修改和新功能的增加前提是不修改旧的功能,旧的功能仍然可以使用!旧类的代码也不做修改! 
    接着上面的继承举例:上面例子中的子类我们统称为一代子类 
    用继承修改旧的功能。 现在如果一代Son1的功能打孩子,也就是方法hitChild()里边的功能实现有问题,我们要把具体实现修改掉,那么我们可以重新写一个新的二代子类Son11继承自一代子类Son1,并重写其hitChild()方法。 
    //二代子类
    public class Son11 extends Son1{
       //重写父类打孩子方法
       public void hitChild(){
          System.out.println("我是二代子类对此方法的新实现");
       }
    }
      

  4.   

    当调用void method(Interface1 interface)这个方法时,传进来的参数可以是实现Interface1 的所有类的对象,这其实就是多态的表现
      

  5.   

       java里面实现多态一般有几个必要条件的:
           如果是从继承,方法的覆盖来实现,那么父类指向子类对象是必须要有的。
           如果是方法重载来实现,那么类里面至少要有两个及以上的具有相同签名,参数不同的方法。
      

  6.   


    public MyClass exdens Object {
       public String toString(){
    }
    } //重写OBJECT的TOSTRING方法,
    方法名及返回值一样,只是实现不同重载是发生在一个类里的方法名相同参数不同的方法PUBLIC CLASS A{
       PUBLIC VOID ADD(INT X,INT Y){}
       PUBLIC VOID ADD (DOUBLE X,DOUBLE Y){}
    }
      

  7.   

    拷贝过来一API里的一段
    static String valueOf(boolean b) 
              返回 boolean 参数的字符串表示形式。 
    static String valueOf(char c) 
              返回 char 参数的字符串表示形式。 
    static String valueOf(char[] data) 
              返回 char 数组参数的字符串表示形式。 
    static String valueOf(char[] data, int offset, int count) 
              返回 char 数组参数的特定子数组的字符串表示形式。 
    static String valueOf(double d) 
              返回 double 参数的字符串表示形式。 
    static String valueOf(float f) 
              返回 float 参数的字符串表示形式。 
    static String valueOf(int i) 
              返回 int 参数的字符串表示形式。 
    static String valueOf(long l) 
              返回 long 参数的字符串表示形式。 
    static String valueOf(Object obj) 
              返回 Object 参数的字符串表示形式。 我认为这就是重载实现的多态性   你传什么进去  就自动绑定了哪个方法  你不用管他是哪个方法  
    记住方法名叫valueOf()就可以了