00060_接口作为方法参数与返回值

1、接口作为方法参数

  当遇到方法参数为接口类型时,那么该方法要传入一个接口实现类对象。

 1 //接口
 2 interface Smoke{
 3     public abstract void smoking();
 4 }
 5 class Student implements Smoke{
 6     @Override
 7     public void smoking() {
 8         System.out.println("课下吸口烟,赛过活神仙");
 9     }
10 }
11 //测试类
12 public class Test {
13     public static void main(String[] args) {
14         //通过多态的方式,创建一个Smoke类型的变量,而这个对象实际是Student
15         Smoke s = new Student();
16         //调用method方法
17         method(s);
18     }
19     
20     //定义一个方法method,用来接收一个Smoke类型对象,在方法中调用Smoke对象的show方法
21     public static void method(Smoke sm){//接口作为参数
22         //通过sm变量调用smoking方法,这时实际调用的是Student对象中的smoking方法
23         sm.smoking();
24     }
25 }

2、接口作为方法返回值

  当遇到方法返回值是接口类型时,那么该方法需要返回一个接口实现类对象。

 1 //接口
 2 interface Smoke{
 3     public abstract void smoking();
 4 }
 5 class Student implements Smoke{
 6     @Override
 7     public void smoking() {
 8         System.out.println("课下吸口烟,赛过活神仙");
 9     }
10 }
11 //测试类
12 public class Test {
13     public static void main(String[] args) {
14         //调用method方法,获取返回的会吸烟的对象
15         Smoke s = method();
16         //通过s变量调用smoking方法,这时实际调用的是Student对象中的smoking方法
17         s.smoking();
18     }
19     
20     //定义一个方法method,用来获取一个具备吸烟功能的对象,并在方法中完成吸烟者的创建
21     public static Smoke method(){
22         Smoke sm = new Student();
23         return sm;
24     }
25 }

 

posted @ 2017-12-22 07:25  gzdlh  阅读(183)  评论(0)    收藏  举报