作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题非常接近 Java 通知/观察者设计模式。我从事不同的 java/Android 编程工作。我想了解的一件事是发布者如何知道实现给定接口(interface)的类是什么。例如在 android 中,当相机准备就绪时,如果您实现特定接口(interface),就会调用一个方法。 android 如何在相机打开时调用此方法方法,而无需将我的类注册到 android。
class mydevice implements camerainterface{
public void cameraup(){
// Implementing my logic when camera up. How android know that there is class //mydevice which is implementing my interface
}
}
android 如何知道我的类 mydevice 并调用此 cameraup 方法。
我希望,我详细解释了我的问题以便理解。
最佳答案
在观察者模式中,发布者将根据需求而不是订阅者来定义契约(接口(interface)及其方法)。订阅者将实现接口(interface)并将它们自己注册为订阅者对象。
但在您的情况下,您是订户,并且您正在尝试定义不是观察者模式的契约(Contract)(相机接口(interface))。
首先,您必须检查哪个广播或回调 Android(在我们的例子中是发布者)提供您的要求,并且您必须实现该契约(Contract)以注册为订阅者。
希望这对您有所帮助。
关于java - 如何在java中实现接口(interface)类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43981743/
我是一名优秀的程序员,十分优秀!