Java作为一个成熟的面向对象语言,在大型软件开发中起着很大的作用,在这样的大环境里占有一席之地。
而为了在多人合作乃至数十数百人合作的项目中避免设计上的不一致,也就是保证类在使用中的规范性,我们引入了接口的概念。
比如接口中有A方法,那么实现这个接口就必须实现A方法,这就人为地形成了一种规范,这也是所谓接口的意义。
那么,接口是如何定义的呢?
public interface 接口名{
//定义常量的语法格式:
public static final 数据类型 常量名 = 值;
//定义抽象方法的语法格式:
public 返回值类型 方法名(参数列表);
返回值类型 方法名(参数列表);
}
这就是接口的定义。我们要注意的是:
1.定义接口的关键字是interface。注意与类的不同,在新建接口的时候也要选择建立此类文件哦
2.接口中只能定义抽象的方法和常量。这就是以后其他接口或者类所要继承的东西
3.接口是可以继承接口的,并且可以同时继承多个接口。语法格式是:public interface 接口名 extends 接口名,......{}
4.接口默认的访问修饰符是public的。并且只有这一种,别的均会报错。
5.接口是一种特殊的类。这个不解释
6.接口中的抽象方法不能在接口中实现,所以不能使用{}结尾,只能使用;结尾。
接下来的问题是,接口我们已经定义好了,下一步就是实现接口的内容啦
public class 类名 implements 接口名,......{
//必须要重写接口中定义的所有方法,否则报错。
}
实现接口的时候我们同样需要注意一些必要的事项:
1.实现接口的关键字是implements 。这是特征也是要素
2.类只能继承一个父类(单根继承),类是可以同时实现多个接口的。
比如: public class 子类名 extends 父类名 implements 接口名,......{}
3.子类可以同时继承类,再实现多个接口,但是,反之则不可以。
4.接口的特点是,我们在接口中定义了多少个抽象方法,那么子类就必须要重写多少个的方法,也就是说所有的方法都要无条件重写哦。
5.实现接口的时候,接口中的常量是能被类继承到的。被继承的既然是全部框架,那么,常量也不例外。
有了接口,又有了类,那么,他们之间的区别在哪里呢?
1.接口与类的关键字不同
类 class 接口 interface
2.接口与类的方法不同
类 方法以{}结束,负责具体实现 接口 方法以;结束,只是抽象的形式
3.接口与类的继承方式不同
类只能继承一个父类,即单根继承 多个接口可以同时被一个类实现
4.接口与类的子类的继承内容不同
对于类,其子类既可以继承方法,也可以重写方法 但对于接口,子类必须重写所有的抽象方法
下面我们介绍Java中的抽象类
抽象类是介于接口和类之间的一种特殊类,该类既有接口的特性,又有类的特性。
他的定义方法如下:
public abstract class 抽象类名{
//可以定义类中所有的方法和属性。
//定义抽象方法,但是语法格式不同
public abstract 返回值类型 方法名(参数列表);
}
对于抽象类中的抽象方法,如果有类继承,那么,子类必须重写这些抽象方法 ,这和接口中的特点是相一致的。
抽象类在这里有很广泛的用途,他既可以继承类和抽象类,又可以去实现多个接口,这里的形式是:
public abstract class 抽象类 extends 父类名 implements 接口名,......{}
但是对于抽象类,它和接口一样,都是不可以实例化对象的,这一点只有类可以做到。
分享到:
相关推荐
该资源对接口与抽象类作了详细分析与比较,相信你看了之后,会彻底的明白了,java学习更上一层楼
抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
主要介绍了Java接口和抽象类用法,结合实例形式总结分析了Java接口与抽象类的具体定义、使用技巧与相关注意事项,需要的朋友可以参考下
主要介绍了Java接口和抽象类,实例分析了java接口与抽象类的概念与相关使用技巧,需要的朋友可以参考下
从战略角度对Java抽象类与接口的剖析
从战略角度对Java抽象类与接口的剖析.pdf
使用抽象类定义一个“形状类”,能够计算周长和面积,分别用矩形、三角形、圆形对形状类进行继承,并定义测试类进行测试输出周长和面积。
今天我们就一起来学习一下Java中的接口和抽象类。 【抽象类】 在了解抽象类之前,先来了解一下抽象方法。 抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为: ...
主要介绍了Java接口和抽象类的区别,对于Java的初学者来说是需要准确掌握的概念!
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性...
面向对象程序设计与实践 第五章 Java抽象类和接口 面向对象程序设计与实践课程组 面向对象程序设计与实践-Java抽象类和接口[33页]全文共33页,当前为第1页。 教学目标 教学方式 重点知识 学习目标 1.熟悉抽象类的...
4)抽象图形用户接口包(javax.swing):实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得 Java可以移植到不同的平台。 接口解决了Java 不支持多重继承的问题,可以通过实现多个...
主要介绍了Java中的接口和抽象类用法,结合实例形式较为详细的分析了Java中关于接口和抽象类的概念、定义、用法与相关注意事项,需要的朋友可以参考下
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
详细分析了java语言中的抽象类与接口的区别。
主要介绍了Java 的抽象类原理与用法,结合实例形式分析了java抽象类与接口的相关概念、原理、使用方法及操作注意事项,需要的朋友可以参考下
主要介绍了java抽象类和接口定义与用法,结合实例形式详细分析了java抽象类和接口的基本概念、原理、定义、使用方法及操作注意事项,需要的朋友可以参考下
本文实例分析了PHP中抽象类、接口的区别与选择。分享给大家供大家参考,具体如下: 区别: 1、对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。当然接口也可以通过关键字extends继承。 2、...
主要介绍了Java面向对象程序设计:抽象类,接口用法,结合实例形式分析了java抽象类与接口相关概念、原理、用法与操作注意事项,需要的朋友可以参考下