在Java中实现接口的方法

网友投稿 207 2024-02-03


在Java中实现接口的方法

本文讲解"在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中jdbc指的是什么",用于解决相关问题。jdbc是什么?有什么功能?jdbc代表Java数据库连接。是一种应用程序接口(API)规范,用于将用Java编写的程序连接到流行数据库中的数据。它允 ...


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring的Aware接口实现及执行顺序详解
下一篇:Java:接口和抽象类,傻傻分不清楚
相关文章

 发表评论

暂时没有评论,来抢沙发吧~