java - 为类外部的对象创建自定义方法

标签 java oop interface

在 Android Studio 中,您可以编写自己的 onClick 函数,如下所示:

btn.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
        // do something
    }
});

我想做一些类似的东西。我有一个内部有一个数组的对象,通过调用一个函数我想访问和修改该数组。

我的原型(prototype):

object.useForProblems(new SomeInterface(){
    @Override
    start(){
        int[][] a = this.getArray();
        // do something with array
    }
});

我知道我的原型(prototype)无法工作,因为界面没有数组,但我想表明我的意图。

最佳答案

首先,创建一个在构造期间(或稍后通过自定义 setter 方法)感知数组的实现

public class ArrayHolder implements SomeInterface {
    private final int[][] a;

    public ArrayHolder(int[][] a) {
        this.a = a;
    }

    @Override
    void start(){
        // do something with array
        System.out.println(a);
    }
}

然后

int[][] arrayHolder = ... // obtained from somewhere
ArrayHolder holder = new ArrayHolder(array);

object.useForProblems(arrayHolder);

关于java - 为类外部的对象创建自定义方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57673945/

相关文章:

java - 何时在 Android 中使用线程/服务?

java - Clojure 访问需要 var 的静态内部类构建器,但在构建时映射到类错误

oop - 这个 OOP 惯例是真的吗?

php - 生成 PHP 接口(interface)

angular - Typescript 中接口(interface)和类的区别

java - 推断在接口(interface)中使用默认方法使其像 Java 中的抽象类是否正确?

java - 如何有效地返回当前数据中心的字符串基础?

java - 如何从左到右跟踪和移动字符串?

php - 在函数内部调用对象

javascript - 在javascript中访问对象内数组内的对象