我一直想知道接口的实际用途。请检查以下代码。
interface Animal { public void eat(); public void travel(); } public class MammalInt implements Animal{ public void eat(){ System.out.println("Mammal eats"); } public void travel(){ System.out.println("Mammal travels"); } public int noOfLegs(){ return 0; } public static void main(String args[]){ MammalInt m = new MammalInt(); m.eat(); m.travel(); } }
在上面的代码中,如果我从类声明中删除实现Animal,则代码仍然可以正常工作而没有任何区别。那么接口的实际用途是什么。?
毫无疑问,即使没有界面,您的代码也可以正常工作,但是。实现一个接口可使类对其承诺提供的行为变得更加正式。接口在类和外部世界之间形成契约,并且该契约在编译时由编译器强制执行。如果您的类声称要实现一个接口,则在成功编译该类之前,该接口定义的所有方法必须出现在其源代码中。
例如,如果您有多个动物类,每个动物类都实现了动物,那么稍后您要更改动物接口的结构,则可以帮助您更轻松地更改所有动物标本的结构。
再举一个例子,假设您在一个组对象上工作,而领导者告诉您和其他人根据他给定的结构(接口)创建一些类,实现该接口可确保您正确使用所有方法名称和结构。如果领导以后认为班级的结构不好,他将更改界面,迫使您更改班级。
有关更多信息,请阅读什么是接口或Unsandsand接口及其有用性。