Java Interface用法

Java Interface用法Javainterface有多种用法,最常见的就是通过interface传递数据第一种publicinterfaceIData{voidvalue(Stringstr);}publicclassClassA{publicvoidsendData(IDataidata){idata.value(“ThisisClassA’valu

大家好,又见面了,我是你们的朋友全栈君。

Java interface有多种用法,最常见的就是通过interface传递数据

  • 第一种
public interface IData {
    void value(String str);
}

public class ClassA {
    public void sendData(IData idata){
        idata.value("This is ClassA'value");
    }

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        ClassA ca = new ClassA();
        ca.sendData(new IData() {

            @Override
            public void value(String str) {
                // TODO Auto-generated method stub
                System.out.println(str);
            }
        });

    }

}

以上为最简单的数据传递用法

  • 第二种
public interface IPositionListener {

    void selectedPosition(int postion);
}
public class Adapter extends PagerAdapter{ 
   

    private List<ImageView> viewList;

    IPositionListener iPositionListener;

    public Adapter(List<ImageView> viewList) {
        this.viewList = viewList;
    }

    @Override
    public int getCount() {
        return viewList.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
  
  // 实例化
        iPositionListener.selectedPosition(position);
        container.addView(viewList.get(position));
        return viewList.get(position);
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
  
  // 销毁
        container.removeView(viewList.get(position));
    }


    public void setOnItemClickListener(IPositionListener iPositionListener) {
        this.iPositionListener = iPositionListener;
    }
}
private void initView() {
        viewPager = (ViewPager) findViewById(R.id.viewpager);

        for (int i = 0; i< imgs.length; i++){
            img = new ImageView(this);
            img.setImageResource(imgs[i]);
            viewList.add(img);
        }
        initViewPagerScroll();
        Adapter adapter = new Adapter(viewList);
        viewPager.setAdapter(adapter);
        mHandler.sendEmptyMessage(0x11);

        adapter.setOnItemClickListener(new IPositionListener() {
            @Override
            public void selectedPosition(int postion) {
                Toast.makeText(MainActivity.this,"第"+(postion+1)+"张图片",Toast.LENGTH_LONG).show();
                PicClick(postion);
            }
        });
    }

    private void PicClick(int postion) {
        switch (postion){
            // TODO
        }
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160352.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月16日 上午10:00
下一篇 2022年7月16日 上午10:00


相关推荐

  • java之三元运算符_Java三元运算符

    java之三元运算符_Java三元运算符三元运算符他属于流程控制语句方面 他的声明方式 一个问号和冒号 问号前面写条件 问号后面写值 冒号后面也是写值 什么是条件呢 不管你用什么方法 只要你能够让得出来的结果是 false 或 true 那么就是条件 三元运算符他是这样的 如果条件的结果为 true 那么就把问号后面的值交给接收者 如果条件的结果为 false 那么就把冒号后面的结果交给接收者 也就是说问号后面的值是为真 true 冒号后面的值为假

    2026年3月26日
    2
  • 求两个对角向上、列索引是偶数的元件和。

    求两个对角向上、列索引是偶数的元件和。

    2022年1月10日
    54
  • idea2022.01.12mybatiscodehelperpro激活码(JetBrains全家桶)[通俗易懂]

    (idea2022.01.12mybatiscodehelperpro激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html4KDDGND3CI-eyJsaWN…

    2022年4月1日
    157
  • 评分卡生成

    评分卡生成模型建立以后得到的 log odds 值是建模样本的好 坏比的对数 分值可以为负值 使得分值的可解读性很差 为了使得评分的结果更容易理解 更加具有实用性 我们希望看到评分卡的样子 通常对变量的特征值进行线性比例变换 并加上一个偏移量 公式如下 Score factor log odds offset factor a woe b of

    2026年3月18日
    2
  • 基于stm32四轮小车简易PID控制

    基于stm32四轮小车简易PID控制看前需知:作者本人使用的是四个普通的TT电机加编码器+增量式PID,适合PID初学者,但是需要对PID和增量式PID有一定的认知,本篇未有详细介绍,以代码应用为主,大佬勿喷。文章目录一、粗谈PID?二、使用的硬件设备三、软件设计四、关键代码1.TIM1定时器:2.TIM2编码器模式示例:3.电机初始化:4.TIM8PWM输出:5.PID:6.中断服务函数:总结*云中何曾落羽,踏遍三岛寻声*一、粗谈PID?PID在生活中很常见,举个例子。例如生活中,一个加热器需要对某个物体进行恒温控制,但是由于某

    2022年5月27日
    50
  • linux系统dns配置

    linux系统dns配置linux 系统 dns 配置

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号