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

时间:2019-08-27 11:42:52

标签: java oop interface

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

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

我想做类似的事情。我有一个对象,里面有一个数组,通过调用一个函数,我想访问和修改该数组。

我的原型:

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

我知道我的原型无法使用,因为接口没有数组,但是我想表明我的意图。

1 个答案:

答案 0 :(得分:0)

首先,创建一个在构造过程中了解数组的实现(或稍后通过自定义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);