首页 > 代码库 > 当类的成员方法接收的形式参数是抽象类或者是接口时,如何传参数?
当类的成员方法接收的形式参数是抽象类或者是接口时,如何传参数?
方法一:
定义一个类实现接口,创建该类,将该类对应的对象当做形式参数
代码如下:
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 Text14 { 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"); } }); }}
当类的成员方法接收的形式参数是抽象类或者是接口时,如何传参数?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。