实现接口方法的方法是否应该用@Override进行注释? Override注解的javadoc说: 表示方法声明旨在覆盖超类中的方法声明。 如果一个方法用这个注解types进行了注释,但是没有重写一个超类方法,编译器需要生成一个错误消息。 我不认为一个接口在技术上是一个超类。 还是呢? 问题阐述
正如你可能知道的那样,C#中的数组实现IList<T>以及其他接口。 但不知何故,他们这样做没有公开实施IList<T>的Count属性! 数组只有一个Length属性。 这是C#/。NET打破它自己的接口实现规则的公然例子,或者我错过了什么吗?
考虑一个例子(用java编译) public abstract interface Interface { public void interfacing(); public abstract boolean interfacing(boolean really); } 为什么一个接口需要被“声明”为抽象的? 是否有其他规则适用于抽象接口? 最后:如果abstract是过时的,为什么包含在Java中? 有抽象接口的历史吗?
我正在构buildiPhone的应用程序,将显示即将到来和过去的事件。 我解决了一个列表视图,但后来我意识到,一个日历(就像内置日历应用程序中的“月”视图中显示的日历)将是一个最好的匹配。 然而,iPhone人机界面指南只是提到了date选取器,而不是日历,所以我相信没有什么像现成的。 真的吗? 如果是这样,是否有人知道可以使用的第三方控制? (我可以自己写一个,但是我宁愿准备一些东西,因为这是原始项目计划的一个偏离)。
好,所以我知道Set , List和Map是接口,但是什么使第一行代码比第二行更好呢? List myArr = new ArrayList(); ArrayList myArr = new ArrayList();
接口允许您创build定义实现它的类的方法的代码。 但是,您不能将任何代码添加到这些方法。 抽象类允许您执行相同的操作,同时向该方法添加代码。 现在,如果你可以用抽象类实现相同的目标,为什么我们甚至需要接口的概念呢? 我已经被告知它必须与OO理论从C ++到Java,这是PHP的OO的东西是基于。 这个概念在Java中有用,但不在PHP中? 这只是一种避免在抽象类中散布占位符的方法吗? 我错过了什么吗?
我在我的发展学习的一个点,我觉得我必须学习更多的接口。 我经常读到他们,但似乎我无法把握他们。 我读过的例子如下:动物基类,IAnimal接口,如“走”,“运行”,“GetLegs”等 – 但我从来没有在工作的东西,感觉像“嘿我应该使用一个接口这里!” 我错过了什么? 为什么这是一个难以理解的概念! 我只是因为我可能永远不会意识到一个具体的需要而感到害怕 – 主要是由于理解它们的一些缺失的方面! 这让我觉得我在开发人员方面失去了一些顶级的东西! 如果任何人有这样的经验,并取得突破,我将不胜感激关于如何理解这个概念的一些技巧。 谢谢。
为什么interface定义中的所有方法都是隐式public ? 为什么不允许一个protected方法?
我有片段与ListView ,说MyListFragment和自定义CursorAdapter 。 我在这个适配器中为列表行中的button设置onClickListener 。 public class MyListAdapter extends CursorAdapter { public interface AdapterInterface { public void buttonPressed(); } … @Override public void bindView(final View view, final Context context, final Cursor cursor) { ViewHolder holder = (ViewHolder) view.getTag(); … holder.button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // some action // need to notify […]
我可以用reflection或类似的东西吗?