java - 如何在 Java 中使用静态抽象类作为回调?

标签 java android static callback abstract

我正在尝试弄清楚如何使用静态抽象类作为回调。我正在查看 Android 的文档 herehere .第一个链接是一个 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/

相关文章:

java - 如何从 JAXBElement<Object> 获取对象

Android InputStream 丢弃前两个字节(修改后的 BluetoothChat)

java - 在 Java 中强制执行通用静态方法的接口(interface)

php - 在 mysqli 函数中使用公共(public)静态函数

ruby-on-rails - 使用 ruby​​ on Rails 向静态网站添加功能

java - Java-ee 服务器上的 Spring 应用程序部署

java - Tapestry 5 : Value of password field not bound to variable

iphone - 在 iPhone 上运行的 PhoneGap 应用程序中的 SQL 数据库问题

java - 如何使用 ant 脚本复制属性文件中定义的文件名

android - startactivity 在执行时崩溃