本篇文章给大家带来的内容是介绍在Java中如何实现接口?接口的使用,让大家对接口有一个简单的了解。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。
在java中,接口像类一样,可以有方法和变量,但在接口中声明的方法默认是抽象的(只有方法签名,没有主体)。
接口是指定类必须执行什么操作,而不是如何操作。如果类实现了接口并且没有为接口中指定的所有函数提供方法体,则必须将类声明为抽象的。
接口的基本语法:
interface <interface_name> { // 声明常量字段 // 声明抽象方法 // 默认情况下 }
要声明接口,请使用interface关键字。它用于提供完全抽象。这意味着接口中的所有方法都是使用空主体声明的,并且是公共的,默认情况下所有字段都是public,static和final。
要实现接口,请使用implements关键字。实现接口的类必须实现接口中声明的所有方法。
为什么要使用接口?
1、它用于实现完全抽象。
2、由于java在类的情况下不支持多重继承,但是通过使用接口它可以实现多重继承。
3、它还用于实现松耦合。
4、接口用于实现抽象。所以问题出现了为什么在我们有抽象类时使用接口?
原因是,抽象类可能包含非final变量,而interface中的变量是final,public和static。
// 一个简单的接口 interface Player { final int id = 10; int move(); }
接口的的实现
要实现接口,我们使用关键字:implement
简单实例:
让我们考虑一个Bicylce, Bike, car等车子的例子,它们有共同的功能。所以我们建立了一个接口并把所有这些共同的功能放在一起。让Bicylce, Bike, car…等等用他们自己的方式在他们自己的类里实现所有这些特征。
import java.io.*; interface Vehicle { // 一切都是抽象的方法 void changeGear(int a); void speedUp(int a); void applyBrakes(int a); } class Bicycle implements Vehicle{ int speed; int gear; // 换档 @Override public void changeGear(int newGear){ gear = newGear; } // to increase speed @Override public void speedUp(int increment){ speed = speed + increment; } // 降低速度 @Override public void applyBrakes(int decrement){ speed = speed - decrement; } public void printStates() { System.out.println("speed: " + speed + " gear: " + gear); } } class Bike implements Vehicle { int speed; int gear; // to change gear @Override public void changeGear(int newGear){ gear = newGear; } // to increase speed @Override public void speedUp(int increment){ speed = speed + increment; } // to decrease speed @Override public void applyBrakes(int decrement){ speed = speed - decrement; } public void printStates() { System.out.println("speed: " + speed + " gear: " + gear); } } class GFG { public static void main (String[] args) { // creating an inatance of Bicycle // doing some operations Bicycle bicycle = new Bicycle(); bicycle.changeGear(2); bicycle.speedUp(3); bicycle.applyBrakes(1); System.out.println("Bicycle present state :"); bicycle.printStates(); // creating instance of bike. Bike bike = new Bike(); bike.changeGear(1); bike.speedUp(4); bike.applyBrakes(3); System.out.println("Bike present state :"); bike.printStates(); } }
总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多相关视频教程:Java教程!
以上是在Java中如何实现接口?接口的使用的详细内容。更多信息请关注PHP中文网其他相关文章!