在java中,接口就像是为类设置的契约。当一个类同意某个接口时,它就承诺遵循该接口定义的规则或方法。将其视为全班必须遵守的一组指示。
当您希望不同的类遵循相同的规则集但以自己的方式实现它们时,接口非常方便。想象一群动物:一只鸟在飞,一条鱼在游,一只狗在跑。如果您希望它们全部“移动”,但以独特的方式,您可以使用接口来定义“移动”操作。
让我们创建一个名为 movable 的简单界面:
public interface movable { void move(); // any class that implements movable must define how to move }
这个接口只有一个方法,move()。任何同意此接口的类都必须有 move() 方法。
让我们创建一些实现 movable 接口的类:
public class bird implements movable { public void move() { system.out.println("the bird flies."); } } public class fish implements movable { public void move() { system.out.println("the fish swims."); } }
这里,bird类和fish类都同意movable接口,但是它们各自有自己的移动方式。
关于接口的一件很酷的事情是一个类可以实现多个接口。假设我们还有一个 soundable 接口:
public interface soundable { void makesound(); }
dog 类可能同时实现 movable 和 soundable:
public class Dog implements Movable, Soundable { public void move() { System.out.println("The dog runs."); } public void makeSound() { System.out.println("The dog barks."); } }
这意味着我们的狗既可以移动又可以发出声音!
java 中的接口是跨不同类强制执行规则的强大方法,同时允许每个类以自己独特的方式实现这些规则。它们提高了代码的灵活性和一致性,使其更易于管理和扩展。