类如何去实现接口

2023-07-06   


接口规定了“原型”,具体实现则由类来完成,格式如下:
   [修饰符] class 类名[extends 基类] implements 接口1[,接口2,…]
   …… //包含对接口的所有方法的实现
  
   说明:
   一个类实现接口时,必须实现接口中的所有抽象方法;否则,该类应声明为抽象类;
   类在实现接口的抽象方法时,必须使用完全相同的方法头,例如:接口中的方法声明时通常省略public修饰符,但在实现抽象方法时必须显式书写public修饰符;
   一个类可以实现多个接口,从而达到多重继承的目的;
   多个无关的类可以实现同一个接口;
   与抽象类相比,使用接口的好处是不相关类实现的相同行为,而不需要考虑这些类之间的层次关系。
   例如:
   //接口应用例子
   interface Runner //接口1
   public void run();
  
   interface Swimmer //接口2
   public void swim();
  
   abstract class Animal //抽象类,去掉关键字abstract是否可行?
   public abstract void eat();
  
  
   class Person extends Animal implements Runner,Swimmer //继承类,实现接口
   public void run()
   System.out.println("我是飞毛腿,跑步速度极快!");
  
   public void swim()
   System.out.println("我游泳技术很好,会蛙泳、自由泳、仰泳、蝶泳...");
  
   public void eat()
   System.out.println("我牙好胃好,吃啥都香!");
  
  
   public class InterfaceTest
   public void m1(Runner f) f.run(); //接口作参数,下同
   public void m2(Swimmer s) s.swim();
   public void m3(Animal a) a.eat();
  
   public static void main(String args[])
   InterfaceTest t = new InterfaceTest();
   Person p = new Person();
   t.m1(p); //接口回调,下同
   t.m2(p);
   t.m3(p);
  
  


相关内容:

  1. 类、抽象类、接口的差异
  2. 广州某公司软件工程师面试题
  3. What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
  4. Java的接口和C++的虚类的相同和不同处
  5. 什么是接口(Interface)?
  6. 为什么使用接口?