码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-08-27 23:29:59      阅读:239      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!