标签:
方法一:
定义一个类实现接口,创建该类,将该类对应的对象当做形式参数
代码如下:
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