Java接口作为参数传递

Java接口作为参数传递

原文出处http://www.jufanshare.com/content/70.html

Java接口作为参数传递的两种方式实现

方式一:

预先准备待使用类TestClassA

package com.jufanshare;

/**
 * @功能:
 * @开发者: 大BUG
 * @编写时间: 2019/4/8 10:41
 */
public class TestClassA {
    public interface SysMsgCallBack{
        public void call();
    };
    public void sysMsg(String msg,SysMsgCallBack callBack){
        System.out.println("msg:\t"+msg);
        callBack.call();
    }
}

调用类,启动类ApplicationMain

package com.jufanshare;

/**
 * @功能:
 * @开发者: 大BUG
 * @编写时间: 2019/4/8 10:34
 */
public class ApplicationMain {
    public static void main(String[] args) {
        TestClassA testClassA=new TestClassA();
        testClassA.sysMsg("这是输出的信息", new TestClassA.SysMsgCallBack() {
            @Override
            public void call() {
                System.out.println("SysMsgCallBack执行");
            }
        });
    }
}

方式二:

预先定义一个接口

package com.jufanshare;

/**
 * @功能:
 * @开发者: 大BUG
 * @编写时间: 2019/4/8 11:05
 */
public interface CallBack {
    public void call();
}

分别两个类实现此接口

package com.jufanshare;

/**
 * @功能:
 * @开发者: 大BUG
 * @编写时间: 2019/4/8 11:05
 */
public class ClassA implements CallBack {
    @Override
    public void call() {
        System.out.println("这里是执行的ClassA");
    }
}
package com.jufanshare;

/**
 * @功能:
 * @开发者: 大BUG
 * @编写时间: 2019/4/8 11:05
 */
public class ClassB implements CallBack {
    @Override
    public void call() {
        System.out.println("这里是执行的ClassB");
    }
}

接收接口参数的方法类

package com.jufanshare;

/**
 * @功能:
 * @开发者: 大BUG
 * @编写时间: 2019/4/8 11:07
 */
public class ClassTest {
    public void doClass(CallBack callBack){
        callBack.call();
    }
}

测试启动类

package com.jufanshare;

/**
 * @功能:
 * @开发者: 大BUG
 * @编写时间: 2019/4/8 11:06
 */
public class Main {
    public static void main(String[] args) {
        ClassTest classTest=new ClassTest();
        classTest.doClass(new ClassA());
        classTest.doClass(new ClassB());
    }
}
  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值