当前位置:首页 > 学习笔记 > Java教程 > Java教程:面向对象之Java接口

Java教程:面向对象之Java接口

刘广法2022年03月21日 13:37:25Java教程9930
Java教程:面向对象之Java接口-第1张图片-刘广法IT博客

Java接口的相关描述:

Java中关于接口的特点:

1、接口中的所有方法都是共有的抽象的方法,public abstract 可以省略

2、在接口中,可以定义属性,属性一定是公有的(public)静态(static)常量(final)。


接口不能实例化对象,但可以实现对象,一个实现接口的类必须实现接口里面所有方法,否则就必须声明抽象类。

接口类型可以声明一个变量,他们可以成为一个空指针,或者被绑定在一个以此接口实现的对象。


final 关键字:表示最终的

1、当修饰类的成员属性,表示最终的变量,也就是不能改变的量——常量,常量要么有初始值,要么通过构造方法赋值。

2、当修饰类的成员方法,表示最终的方法。也就是不能重写的方法。

3、当修饰类是,表示最终的类。也就是不能继承的类。

static 关键字:表示静态的,隶属于类不属于实例,属于类

如何访问static修饰的类的成员属性

类.成员属性

如何访问static修饰的类的成员方法

类.成员方法

在同一类中,既有静态(static)的成员和非静态的成员

静态成员不能访问非静态成员。

非静态成员可以访问静态成员。

implements 关键字:表示实现一个接口

一个类实现接口,需要把接口中的方法提供实现。


接口和抽象类的关系:

1、由于接口本身不是类,所以,接口不具备类的特性。抽象类是类,拥有类的特性,只是不能 实例化。

2、接口中的方法都是抽象方法,而抽象类,可以拥有抽象方法。

3、类可以实现多个接口。多个接口之间,使用逗号分隔。

4、接口可以继承接口。一个接口,可以继承多个接口。使用extends关键字。

5、类是单继承、多实现。

Java抽象类、类、Java接口的对比:

1、是否有具体的方法体:Java抽象类、类可以存在具体的方法体,而Java接口不可以存在具体的方法体(接口中方法必须位抽象方法)。

2、是否能够实例化对象:接口、抽象类不能实例化对象,而类可以实例化对象。

3、是否有构造方法:类、抽象类有构造方法,而接口不存在构造方法。

4、存在成员变量的类型:抽象类、类的成员属性可以是任何类型的,而Java接口 public static final  类型的。

5、Java接口可以存静态方法和静态变量(用 static 修饰的),而在Java接口中不能存在静态方法和静态变量。

6、一个类可以继承一个抽象类,而一个类可以继承多个Java接口。

7、接口不是被继承,是被类实现,接口支持多继承。

Java 8 之后 接口中可以使用 default 关键字修饰的非抽象方法。

注:JDK 1.8 以后,接口里可以有静态方法和方法体了。

注:JDK 1.8 以后,接口允许包含具体实现的方法,该方法称为"默认方法",默认方法使用 default 关键字修饰。更多内容可参考 Java 8 默认方法。

注:JDK 1.9 以后,允许将方法定义为 private,使得某些复用的代码不会把方法暴露出去。更多内容可参考 Java 9 私有接口方法。

接口的声明:

[可见度] interface 接口名称 [extends 其他的接口名] {

        // 声明变量

        // 抽象方法

}

接口的实现

当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。

类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。

重写接口中声明的方法时,需要注意以下规则:

类在实现接口的方法时,不能抛出强制性异常,只能在接口中,或者继承接口的抽象类中抛出该强制性异常。

类在重写方法时要保持一致的方法名,并且应该保持相同或者相兼容的返回值类型。

如果实现接口的类是抽象类,那么就没必要实现该接口的方法。

在实现接口的时候,也要注意一些规则:

一个类可以同时实现多个接口。

一个类只能继承一个类,但是能实现多个接口。

一个接口能继承另一个接口,这和类之间的继承比较相似。


文章原创,转载请注意出处,来源:刘广法博客,不保留必追究

扫描二维码推送至手机访问。

版权声明:本文由刘广法博客发布,如需转载请注明出处。

本文链接:https://liuguangfa.com/java/133.html

分享给朋友:

“Java教程:面向对象之Java接口” 的相关文章

Java教程 第一节:Java语言介绍

一、Java语言的起源与发展二、Java语言的应用最大的应用是互联网上,比如说淘宝、工商银行、中国银行、大数据相关企业应用方面、财务管理系统、人力资源管理系统,erp系统,教务管理系统移动互联网系统,安卓系统三、使用记事本开发一个Hell World程序public class ...

Java教程 第二节:基本数据类型与变量

一、关键词在java中有特殊含义的一些词,比方说 public class 等。break;break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。break 跳出最里层的循环,并且继续执行该循环下面的语句。二、标识符起唯一标识作用的,类似我们自己的姓名,学校中的学号,公司中的工...

使用eclipse进行文件的导入和导出

使用eclipse进行文件的导入和导出

该说不说,学会这个项目可以省很多的事情,刘广法可以用这个方法借鉴同学的项目,可以进行参考、借鉴、以及抄作业。一、使用eclipse进行项目的导出:1、使用eclipse进行项目的导出第一步:找到所在的项目工作空间,如果你知道的话,可以直接打开文件进行打包发送给你的好友,如果想要知道项目工作空间如何修...

java教程 第三节:基本数据类型和运算符

一、算术运算符+:加-:减*:乘/:除%:取余例如:a+b、a-b、a*b、a/b、a%b当两个操作数都为整数时,结果必定为整数。当其中一个操作数为小数时,则为小数除。去余数,通常是一对正正整取余数,事实上,对小数和负数一样取余数。小数(浮点数)在计算机中不是精确存在的,并不是精确存在的。二、比较运...

Java教程 第四节:流程控制语句总结

流程控制语句:一、顺序结构顺序结构:按照写代码的顺序 一次执行二、分支结构1、if语句if(条件){     语句块 }2、if...else...语句if(条件){     语句块 }else{  ...

java学习:Java流程控制语句的相关测试题

第一题:将所有包含3的三位数整数相加求和。103 131 133 301类似。public static void main(String[] args) { int n = 100;// 从n开始三位数...

eclipse的快捷键功能

eclipse的快捷键功能

有一些快捷键是可以修改的,具体修改过程如图下:修改快捷的详细步骤:1、使用快捷键调出快捷键列表进行查看:快捷键列表调用:shift + ctrl + L2、window->preferences->general->keys(或直接搜索keys)快捷键列表:shuft + ctrl...

eclipse 如何更换JDK版本 替换自带的JDK版本

eclipse 如何更换JDK版本 替换自带的JDK版本

设置jdk,用安装的JDK替换eclipse自带的JDK(详细步骤)1、Window-->Presferences2、进入后,搜索“java”,找到“Installed JRES”3、删除自带的JDK:选中自带的jdk,然后选择remove。4、添加自己安装的JDK:选中右边的Add,选择St...

Java练习:找出三位数中所有的水仙花的值

找到三位数中所有为水仙花的值1、水仙花:百位数的立方+十位数的地方+个位数的立方等于这个数本身。2、三位数中。具体的步骤:public static void main(String[] args) { int i =&nbs...

Java练习:从控制台输入一个年份,统计输入的年份到现在一共多少天?

从控制台输入一个年份,统计输入的年份到现在一共多少天?注意事项:1、平年365天,闰年十366天。2月份平年28天,2月份闰年29年。2、今年2022年3月14日3、闰年判断:能够被四百整数;能被4整数但不能被100整数public static void main(S...

Java练习:百钱百鸡利用Java进行实现

今有100块钱,需要购买100只鸡,已知鸡的价格是:公鸡5元,母鸡3元,小鸡三只元,问:需要购买多少只公鸡、母鸡、小鸡?Java实现百鸡百钱的方法一: public static void main(String[] args) { for&n...

Java练习:打印出所有3位数的素数

课堂练习:打印出所有3位数的素数。素数:只能被1和其本身整除的数 public static void main(String[] args) { // 打印三位数的素数,素数只能被1和本身整数的数。 for (int...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。