首页 > 其他 > 详细

当类的成员方法接收的形式参数是抽象类或者是接口时,如何传参数?

时间:2016-08-27 23:27:37      阅读:262      评论:0      收藏:0      [点我收藏+]

方法一:

     定义一个类实现接口,创建该类,将该类对应的对象当做形式参数

代码如下:

 1 interface Animal
 2 { 
 3   public abstract void eat ();
 4 }
 5 class Dog implements Animal
 6 {
 7     public void eat()
 8     {
 9         System.out.println("eat dog");
10     }
11 
12 }
13 class Text
14 {  
15     //一个类的成员方法接收的形式参数是接口或是抽象类
16     public void eat(Animal a)    //Animal a=new Dog(多态);      // 传递肯定是该接口的子类对象,这个子类对象一定会重写接口的抽象方法
17     {                         //采用多态调的肯定是儿子的
18         a.eat();
19     }
20 
21 }
22  class DuoTai 
23 {
24     public static void main (String [] args)
25     {
26         Text t=new Text();
27         Dog d=new Dog();
28         t.eat(d);
29     }
30 }

方式二:
采用匿名内部类当做形式参数传递
interface Animal
{ 
  public abstract void eat ();
}

class Text
{  
    //一个类的成员方法接收的形式参数是接口或是抽象类
    public void eat(Animal a)
    {                         
        a.eat();
    }

}
 class DuoTai 
{
    public static void main (String [] args)
    {
        Text t=new Text();//匿名内部类当做参数传递
        t.eat(new Animal()
        {
            public void eat ()
            {
                System.out.println("eat dog");
            }
        });
    }
}

 

 

当类的成员方法接收的形式参数是抽象类或者是接口时,如何传参数?

原文:http://www.cnblogs.com/whj-1994/p/5813912.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!