形式参数是引用类型的时候 返回值类型是引用类型的时候

本文通过三个示例详细解析了Java中多态的概念及应用,重点介绍了如何使用具体类、抽象类和接口作为方法的形式参数及返回值,并展示了如何在实际编程中正确地运用这些特性。
总结:引用类型---->数组,类,接口
形式参数是引用类型的时候:
    如果是一个具体类名:要的是该类的对象或其子类对象
    如果是一个抽象类:要的是该类的子类对象   
    如果是一个接口:要的是该接口的实现类  

返回值类型是引用类型的时候:
   如果是一个具体类名:返回的是该类的对象或其子类对象
    如果是一个抽象类:返回的是该类的子类对象   
    如果是一个接口:返回的是该接口的实现类  

例一:
classFu{
   public void show(){
        System. out.println( "show fu");
   }
}
//在这里如何补齐代码
class Zi extends Fu{
      public void show(){//重写父类的方法
              System. out.println( "show zi");
        }
}

class FuDemo{
     public void textFu(Fu f){
            f.show();
     }
}
public class FuText {

     public static void main(String[] args ) {
     FuDemo fd=new FuDemo();
     //补齐代码要求在控制台上输出  show zi
     Fu f=new Zi();//多态
     fd.textFu(f);
    
     }

}
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

/*
 * 抽象类做为形式参数,实际要的是该类的子类对象
 */

例二:
abstractclass Fu{
   public abstract void show();
       
 }
   //在这里如何补齐代码
class Zi extends Fu{
     public void show(){
           System. out.println( "show");
     }
}


class FuDemo{
     //这里传的是抽象类,要的肯定是该类的子类对象
     public void textFu(Fu f){
            f.show();
     }
}
public class FuText {

     public static void main(String[] args) {
     FuDemo fd=new FuDemo();
     //补齐代码要求在控制台上输出  show
     Fu f = new Zi();
     fd.textFu(f);
    
     }

}
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&7
/*
 * 接口做为形式参数,实际要的是该接口的子类
 */

例三:
interface Fu{
   public abstract void show();
       
 }
   //在这里如何补齐代码
class Zi implements Fu{
     public  void show(){
           System. out.println( "show zi");
     }
}


class FuDemo{
     //这里传的是抽象类,要的肯定是该类的子类对象
     public void textFu(Fu f){
            f.show();
     }
}
public class FuText {

     public static void main(String[] args) {
     FuDemo fd=new FuDemo();
     //补齐代码要求在控制台上输出  show
     Fu f = new Zi();
     fd.textFu(f);
    
     }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值