JAVA接口怎么接收集合参数?Java接口怎么标记?

在JAVA编程语言中,JAVA接口是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。那JAVA接口怎么接收集合参数?下面来我们就来给大家讲解一下。

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

方式一:

预先准备待使用类TestClassApackage com.jufanshare;

public class TestClassA
{
    public interface SysMsgCallBack
    {
        public void call();
    };
    public void sysMsg(String msg, SysMsgCallBack callBack)
    {
        System.out.println("msg:\t" + msg);
        callBack.call();
    }
}

调用类,启动类ApplicationMainpackage com.jufanshare;

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执行");
            }
        });
    }
}

解释:

这里我们把接口SysMsgCallBack预先定义好,在sysMsg()方法中定义接收一个接口SysMsgCallBack参数,然后再调用接口中的call()方法。

启动类ApplicationMain中直接new一个SysMsgCallBack接口,new接口会直接实现为内部类,在内部类中call定义要执行的逻辑代码,sysMsg()中即可执行这里定义的代码。

这种接口作为参数传递的方式在Android开发中很常见,JavaWeb中用得比较少。

应用场景举例:

发起网络请求(异步),异步请求结果出来之后,要根据请求结果做出逻辑处理,可以使用此方式。

方式二:

预先定义一个接口

package com.jufanshare;
public interface CallBack
{
    public void call();
}

分别两个类实现此接口

package com.jufanshare;
public class ClassA implements CallBack
{
    @Override
    public void call()
    {
        System.out.println("这里是执行的ClassA");
    }
}
package com.jufanshare;
public class ClassB implements CallBack
{
    @Override
    public void call()
    {
        System.out.println("这里是执行的ClassB");
    }
}

接收接口参数的方法类

package com.jufanshare;
public class ClassTest
{
    public void doClass(CallBack callBack)
    {
        callBack.call();
    }
}

测试启动类package com.jufanshare;

public class Main
{
    public static void main(String[] args)
    {
        ClassTest classTest = new ClassTest();
        classTest.doClass(new ClassA());
        classTest.doClass(new ClassB());
    }
}

Java接口怎么标记?

最常用的继承接口是没有包含任何方法的接口。

标记接口是没有任何方法和属性的接口.它仅仅表明它的类属于一个特定的类型,供其他代码来测试允许做一些事情。

例如:java.awt.event 包中的 MouseListener 接口继承的 java.util.EventListener 接口定义如下:

package java.util;
public interface EventListener
{}

没有任何方法的接口被称为标记接口。标记接口主要用于以下两种目的:

1.建立一个公共的父接口:

正如EventListener接口,这是由几十个其他接口扩展的Java API,你可以使用一个标记接口来建立一组接口的父接口。例如:当一个接口继承了EventListener接口,Java虚拟机(JVM)就知道该接口将要被用于一个事件的代理方案。

2.向一个类添加数据类型:

这种情况是标记接口最初的目的,实现标记接口的类不需要定义任何接口方法(因为标记接口根本就没有方法),但是该类通过多态性变成一个接口类型。

Java接口作用就是简单形象的说就是给某个对象打个标,使对象拥有某个或某些特权。最后大家如果想要了解更多java常见问答知识,敬请关注奇Q工具网。

推荐阅读:

JAVA接口怎么运行?如何实现java接口?

java笔试编程题有哪些?java笔试编程题分享

java怎么做窗口程序?java做窗口程序实例