java中的接口
代码1:
public class User1 implements MyInterface { @Override public void doCalculation() { } } public class User2 implements MyInterface { @Override public void doCalculation() { } } interface MyInterface { public void doCalculation(); } 代码2: public class User1 { public void doCalculation() { } } public class User2 { public void doCalculation() { } } 在我的代码1中,我有一个MyInterface,它有一个空方法doCalculation(). 在我的代码2中,我有两个不同的类,定义了doCalculation()方法. 在code1和code2两种情况下,我自己都要编写实现.我的方法doCalculation()只是一个空方法. 那么MyInterface在这里有什么用? >它只提供方法名称或骨架(是界面的唯一优势)? 解决方法
接口使用很多,因为它们基本上是您的类应该能够做的事情的蓝图.
例如,如果您正在编写带有字符的视频游戏,则可以使用一个界面来保存角色应具有的所有方法. 例如 public interface Character { public void doAction(); } 你有2个角色,例如盟友和敌人. public class Ally implements Character { public void doAction() { System.out.println("Defend"); } } public class Enemy implements Character { public void doAction() { System.out.println("Attack"); } } 如您所见,这两个类都实现了接口,但它们具有不同的操作. public Character ally = new Ally(); public Character enemy = new Enemy(); 在您的主程序中,您可以创建一个方法来接受实现您的接口的任何对象,并让它执行它的操作而不知道它是什么类型的字符. void characterDoAction(Character char) { char.doAction(); } 如果您愿意为此方法提供联盟,那么输出将为: Defend 如果你给这个方法的敌人,输出将是: Attack 我希望这是一个足够好的例子来帮助您了解使用接口的好处. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |