1. 程式人生 > >java介面傳遞資料的例項

java介面傳遞資料的例項

我們要講E類中的資料變化通知A類,這樣通過介面F來實現。具體原理就是E的每次資料改變都讓其通知介面;而A類繼承介面,所以每次E的呼叫介面都會觸發A類的資料更改事件的觸發。

首先建立一個類E:

public class E {
    private E context;

    private static int i = 0;

    E() {
          context = this;
    }

   public void start() {
          new Thread(new Runnable() {
                public void run() {
                     while (1 != 0) {
                               i = i + 1;

                              f.onF(context, i);//每次資料改變呼叫介面讓其資料改變
                     }

                 }
            }).start();
    }

    private F f;

    public void setFListener(F ff) { // 介面的例項,需要獲取此類的資料的類需要呼叫的一個方法。
                f = ff;
    }

}

其次建立一個介面F:

public interface F {
     void onF(E e, int i); //引數是資料來源E類以及變化資料
}

再次建立一個類A,讓其實現介面F:

public class A implements F{
    private static int s;
    private static A a;

    @Override
    public void onF(E e, int i) {
       s = i;
       System.out.println(s);
    }
 
  public static void main(String args[]){
      E e = new E();
      a = new A();
      e.start();
      e.setFListener(a);
  }
}

相關推薦

java介面傳遞資料例項

我們要講E類中的資料變化通知A類,這樣通過介面F來實現。具體原理就是E的每次資料改變都讓其通知介面;而A類繼承介面,所以每次E的呼叫介面都會觸發A類的資料更改事件的觸發。 首先建立一個類E: public class E {    private E context;   

JAVA介面傳遞引數(POST),從介面接收資料(JSON)

1,給介面傳遞json格式的資料 package fkJAVA.Array; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOExceptio

關於java介面傳遞json時候時間型別的處理

這幾天公司讓我做一套介面提供給app。 當我json返回出去的時候,時間無法格式化。就算返回之前通過simpledateformat轉了之後存入物件,返回去的時候依舊是非格式化型別。 作為一個小菜雞,我的解決辦法就是 com.alibaba.fastjson.JSONObject jsonObjec

Java 介面不能例項化之匿名內部類

上面的程式碼是安卓開發裡面及其常見的一段程式碼,最近僥倖撿起了一點基礎,有些不解,就去原始碼裡面查了查, public void setOnClickListener(@Nullable OnClickListener l) { if (!isClick

react子元件向父元件傳遞資料例項

這個例子很簡單,看一下就懂: class Son extends React.Component { render() { return <input onChange={thi

在JNI與java之間傳遞資料

傳遞String字串 #MainActivity.java: JNI jni = new jni();//例項化JNI物件 jni.helloFromC("world!");//呼叫本地方法 #JNI.java: public c

Native層與java層之間的資料傳遞程式碼例項

Native 層與 java 之間的 資料傳遞 MainActivity package com.a18459.myapplication; import android.os.Bundle; import android.support.v7.a

C#中使用SendMessage在程序間傳遞資料例項

1 新建解決方案SendMessageExample在解決方案下面新建三個專案:CopyDataStruct,Receiver和Sender。其中,CopyDataStruct專案的輸出型別為“類庫”,Receiver和Sender專案的輸出型別為“Windows 應用程式”。整個例項程式的結構如下圖所示。

JNI傳遞修改自定義Java Class陣列資料

結合前面講的2篇關於JNI的文章,這裡直接把程式碼貼上,主要是要知道如果傳遞自定義Class Array的時候,在JNI怎麼處理。單獨拎出來講解,是因為和系統自帶型別如long Array、String

JAVA介面自動化框架3——session提取及傳遞

使用場景: 一些場景必須登入後才可以使用,這就需要在後續的介面中使用登入後產生的session,本章主要介紹如何獲取session,及把引數傳遞到其他的介面中;我的介面是查詢介面,無引數 一、登入需要的引數 package com.qa.parameters; publ

介面回撥(傳遞資料)

背景:兩個Fragment組成主介面,左邊的Fragment是個目錄、即列表,右邊的Fragment是詳細資訊面板,需要顯示左邊Fragment傳過來的資料; 實現:1.首先定義一個介面,如下

java介面使用(歸併排序例項

介面的關鍵字interface宣告一個介面,一個類可以用implements關鍵字來實現介面中的一些方法。 這裡就拿比較的介面Comparable來舉例,細細體會介面對於降低程式碼耦合度的作用。 宣告Compare介面 public interface Comp

java在子執行緒與主執行緒傳遞資料(回撥函式)

預習知識點: 什麼是回撥函式? 下面是知乎大神的回答,簡直不能再精闢 程式碼: package kun.thread; public class THread { static C c=new C(); //flag用來標誌子執行緒執行結束 stati

Java介面例項應用:致敬我的偶像——何塞·穆里尼奧

文/沉默王二   曹操在《短歌行》中為杜康酒打過一個價值一億個億的廣告——“何以解憂,唯有杜康”,我替曹操感到惋惜的是他本人並不會收到這筆不菲的代言費。想一想,要是三國時期的明星人物們有這個代言意識的話,保證各家的軍費收入會多出來一個重量級的來源。 不過,酒真的能解憂嗎?我不大敢相信。李白

Android介面回撥傳遞資料

一 、回撥函式回撥函式就是一個通過函式指標呼叫的函式。如果你把函式的指標(地址)作為引數傳遞給另一個函式,當這個指標被用為呼叫它所指向的函式時,我們就說這是回撥函式。回撥函式不是由該函式的實現方直接呼叫,而是在特定的事件或條件發生時由另外的一方呼叫的,用於對該事件或條件進行

Postman介面之間傳遞資料

一、概述     在介面測試的過程中,經常會遇到一個介面的請求引數是另外一個介面的返回資料,比如登入之後獲取token,下一個介面需要這個token去請求,今天就簡單介紹一個介面之前的資料傳遞,介面測試工具為postman。 二、使用方法 1、首先,來新增一個環境變數,

[Java基礎]介面能否被例項化以及匿名內部類

首先回答我們標題中的問題,介面能否被例項化呢? 答案是顯而易見的,不能! 下面我們考慮如下的程式碼: Runnable r1 = new Runnable(){ @Override public void run(){

java影象介面開發簡單例項-JLabel,JFileChooser,JMenu應用

import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import javax.swing.ImageIcon;import javax.swing.JFileChooser;imp

java影象介面開發簡單例項-JButton及事件的簡單應用

import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;i

Echarts折線圖動態獲取資料例項(附java後臺程式碼)

// 基於準備好的dom,初始化echarts例項 var myChart = echarts.init(document.getElementById('line')); // 指定圖表的配置項和資料 var option = {