0

0

在Java中如何实现接口?接口的使用

青灯夜游

青灯夜游

发布时间:2018-11-21 18:27:54

|

4571人浏览过

|

来源于php中文网

原创

本篇文章给大家带来的内容是介绍在java中如何实现接口?接口的使用,让大家对接口有一个简单的了解。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

在java中,接口像类一样,可以有方法和变量,但在接口中声明的方法默认是抽象的(只有方法签名,没有主体)。  

接口是指定类必须执行什么操作,而不是如何操作。如果类实现了接口并且没有为接口中指定的所有函数提供方法体,则必须将类声明为抽象的。

接口的基本语法:

interface  {
    
    // 声明常量字段
    // 声明抽象方法
    // 默认情况下
}

要声明接口,请使用interface关键字。它用于提供完全抽象。这意味着接口中的所有方法都是使用空主体声明的,并且是公共的,默认情况下所有字段都是public,static和final。

立即学习Java免费学习笔记(深入)”;

要实现接口,请使用implements关键字。实现接口的类必须实现接口中声明的所有方法。

为什么要使用接口?

1、它用于实现完全抽象。

2、由于java在类的情况下不支持多重继承,但是通过使用接口它可以实现多重继承。

小邮包 包月订购包年程序
小邮包 包月订购包年程序

小邮包-包月订购包年服务网,该程序由好买卖商城开发,程序采用PHP+MYSQL架设,程序商业模式为目前最为火爆的包月订制包年服务模式,这种包年订购在国外网站已经热火很多年了,并且已经发展到一定规模,像英国的男士用品网站BlackSocks,一年的袜子购买量更是达到了1000万双。功能:1、实现多产品上线,2、不用注册也可以直接下单购买,3、集成目前主流支付接口,4、下单发货均有邮件提醒。

下载

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(); 
	} 
}

2.jpg

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多相关视频教程:Java教程

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

57

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

57

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

237

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

393

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

17

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

103

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

73

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

81

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

70

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 2.9万人学习

C# 教程
C# 教程

共94课时 | 7.5万人学习

Java 教程
Java 教程

共578课时 | 50.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号