我遇到的情况是
public interface AlarmBroadcasterRC {
abstract void DataIn(byte[] data);
abstract void DataOut(byte[] data);
abstract Boolean Drop(String id);
abstract Boolean Connected(String id, Boolean state);
}
public class GeneralActivity extends Activity implements View.OnClickListener, AlarmBroadcasterRC {
.....
}
这是否意味着在Android Java中,接口必须实现第一个方法,或者,如果其所有方法都是抽象的,则该类也必须是抽象的?
很抱歉,将问题扩展到:我正在关注here的答案之一:
答案 0 :(得分:1)
如果您有一个实现接口且不是抽象的类,则必须实现其抽象方法的 all ,而不仅仅是第一个。
答案 1 :(得分:1)
在interface
中,所有methods
默认为abstract
,您无需添加abstract
关键字。
实现interface
时,必须实现其所有方法或将类声明为抽象。
如果不想在子类中实现,可以做什么,可以在interface
中提供方法的默认实现。
示例:
public interface AlarmBroadcasterRC {
default void DataIn(byte[] data) { }
default void DataOut(byte[] data) {}
default Boolean Drop(String id) { return false; }
default Boolean Connected(String id, Boolean state){ return false; }
}