我正在尝试弄清楚如何使用静态抽象类作为回调。我正在查看 Android 的文档 here和 here .第一个链接是一个 CameraManager,它有一个名为 openCamera 的方法。此方法需要静态抽象回调类 StateCallback 的实例。
我的主要问题是,作为回调的静态类如何为我提供任何有用的东西?例如,我想做的是从 onOpened 回调中将 CameraDevice 存储在本地,但根据我对 C# 中静态成员的了解(我是 C# 开发人员),这是不可能的,因为静态成员无法访问非静态成员。
我一定对 Java 不了解...或者这是 API 设计的预期结果?
提前致谢。
最佳答案
您需要扩展它并创建一个实现这些方法的新类,并将其传递到调用中。因为 Java 都是引用,所以任何参数都可以传递一个派生自该类的对象。
Java 中的静态类也只是意味着它没有隐藏在其中的父对象的链接。它使 GC 更容易收集实例。 C# 中的静态!=Java 中的静态!= C++ 中的静态!= C 中的静态。哎呀,在大多数这些语言中,静态根据其使用位置表示不同的含义。
关于java - 如何在 Java 中使用静态抽象类作为回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28999876/