1楼:情何一侃
java是不能多继承的,接口最主要就是为了解决多继承问题,减少**重复量。提高**效率
java 接口有什么好处?
2楼:匿名用户
这个问题这困扰了我很久,后来我才想明白,大家都说接口就是实现扩展功能用的,这句话其实是最误导人的,因为接口本身并没有实现方法,它只是一条路,是一个工具,千万别想复杂,真正实现功能扩展的是实现方法的对象和调用接口的方法。下面举个栗子。
狗这个类继承了走兽类,它有跑,跳,啃,等方法。但是它不会飞,它的父类也没有这个方法。但是你想让狗有飞这个功能,怎么办呢?
当然你可以直接在狗的类中给它添加一个飞的方法就行了。有可能你并不会写这个方法,或者是这个方法需要几千几万行**,硬写吗?那以后你还想要猪,牛,羊等等都可以飞呢?
那又怎么办呢?这时候你发现你有一个类,这个类就叫飞行兽吧。它有一个方法就是飞行,这下好了,你决定让狗继承它,结果发现不能多继承,你又想让狗的父类继承它,结果发现还有其他的走兽不能让他们飞。
这时候就需要接口出来了,这个接口我们叫它插翅膀吧,这个接口有一个方法就是插翅膀,但没有实现,因为接口不管你怎么给狗插翅膀。同时你还发现在飞行兽里有一个带参数的构造方法,而参数类型就是这个接口类型。但是狗的类型是狗而不是接口类型,没法作为参数传进去,这时你就可以让狗实现这个接口,这个狗对象就成了插了翅膀的狗,接着通过多态的原理把插了翅膀的狗这个对象传给飞行兽,这狗这就成了飞行兽,可以飞了。
chibang chibangdog=new dog()
flyshou flydog =new flyshou(chibangdog)
可以飞的狗就出来了,以后要猪飞就让猪实现插翅膀,要羊飞就让羊实现插翅膀,要牛飞就......直接吹吧。不知道这样说明白没有。
3楼:匿名用户
接口实现扩展功能啊 java类与类之间只能单继承 类与接口之间可以多实现啊 像软件升级 不可能改源码 可以定义多个接口增强功能 以后复写接口中的抽象方法
4楼:匿名用户
接口的作用就是扩展功能,提供规则和解藕,但是得使用多态调用,才能提现它的扩展功能的作用。
比如有一个接口a,一个类b和一个类c,b类实现接口a,c类使用接口a多态调用,就可以使用b类中a接口的重写方法,而不直接受b类的影响。
后期的数据库开发,集合,多线程的学习都离不开接口,所以一定要学好。
5楼:小花朵
接口是一个标准,是一个约定,而不是一种实现,接口的目的是为了规范实现类,这样就可以不用具体管实现类,因为你不管怎是实现,我只要知道你是实现了这个接口,那么你肯定有那些方法,那么我调用这个接口的方法就肯定没问题。
举个例子,有一个接口,规定一个方法 int calc(int b);
这个函数用于计算从1到b的和
比如有两个类实现了这个接口
第一类是这么实现的
int calc(int b)
第二个类是这么实现的
int calc(int b)
可见不管哪个类实现了这个接口,我们只要调用calc方法就能计算出sum,而不用管他是怎么实现的
6楼:匿名用户
接口纯属编程思路问题,所以它对程序**影响很小,只是把思路整理一下。现在接口已被扯的太复杂了,本应是个好无用处的东西。
我认为接口就是一个大忽悠,把编程思路忽悠的很复杂。但人的思路是先入为主的,可能一开始就接触这个,就不会觉的接口的存在没什么不对。
接口应该是那些专家无聊于已撑握的知识,然后就扯些东西出来,最终忽悠成功,大家都认同了。
7楼:匿名用户
接口功能:
1、实现多继承,因为java只能继承一个类,却可以实现多个接口
2、更加规范,相当于“约定”的功能。举例来说,serializable接口并没有定义任何方法,但是只有实现这个接口的类才能被序列化。接口相当于一种约定,哪个类实现了它,就相当于满足了这个约定规定的义务,然后另一个类就可以对这个类进行一些特定的操作。
不实现接口的类,就认为不满足约定,就不对它进行操作。在多人合作编写的大型程序中,这种制度很有用。
8楼:匿名用户
1. 避免多继承中各父类含有同名成员时在子类中发生引用无法确定的问题,为了操作方便,增加java的灵活性,达到多继承的效果,用接口来实现。
2. 一个接口只有方法的特征没有方法的实现,但这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
3.是省事,但是**太多,像软件升级需要继承一样,应尽量缩小**. 应尽量减少时间
4. 不多余!顾名思义,接口,就是连接两端的一种东西。没有实际意义,仅仅是方便连接
5..向2 看,答案一样!
9楼:匿名用户
最简单的,我现在要统计学生年龄
你的一个任务是统计小学的
a的任务是初中的
b的是高中的
c的是大学的
四个人做怎么才能比较统一?方便看程序和以后维护呢?接口就起到做用了啊
10楼:匿名用户
比类方便,而且容易维护
11楼:匿名用户
接口是一
种规范软件开发大多是一个协作性的工作:电器和插座分别是不同人完成的,有了接口大家就能分头开干,都按照接口来办事,各自做完就能轻松地整合到一起。各部分的测试也更加方便。
接口在开发过程中可以快速分离工作内容。
比如调用者在写业务逻辑的时候需要一个功能,可能是数据库访问,或者复杂计算,但是他的工作专注于实现业务逻辑,不想分开精力去做底层实现,那么他只需要先实现一个接口,定义了规范,然后就可以继续他的业务逻辑**了。而实现者可以根据这个接口规范,做具体的实现。
这样通过使用接口就可以快速的分离工作内容,达到团队并行工作的目的。
java 使用接口的好处?
12楼:四川源码时代科技****
java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
使用接口的好处有以下几点:
1、重要性:在java语言中, abstract class 和inte***ce 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了java强大的 面向对象能力。
2、简单、规范性:如果一个项目比较庞大,那么就需要一个能理清所有业务的架构师来定义一些主要的接口,这些接口不仅告诉开发人员你需要实现那些业务,而且也将命名规范限制住了(防止一些开发人员随便命名导致别的程序员无法看明白)。
3、维护、拓展性:比如你要做一个画板程序,其中里面有一个面板类,主要负责绘画功能,然后你就这样定义了这个类。
13楼:匿名用户
什么是接口?
java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
接口的两种含义:一,java接口,java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“java接口”,后者叫做“接口”。
在java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。在java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。但在java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。
接口继承和实现继承的规则不同,一个类只有一个直接父类,但可以实现多个接口。
java接口本身没有任何实现,因为java接口不涉及表象,而只描述public行为,所以java接口比java抽象类更抽象化。
java接口的方法只能是抽象的和公开的,java接口不能有构造器,java接口可以有public,静态的和final属性。
接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。
为什么使用接口?
两个类中的两个类似的功能,调用他们的类动态的决定一种实现,那他们提供一个抽象父类,子类分别实现父类所定义的方法。
问题的出现:java是一种单继承的语言,一般情况下,哪个具体类可能已经有了一个超类,解决是给它的父类加父类,或者给它父类的父类加父类,只到移动到类等级结构的最顶端。这样一来,对一个具体类的可插入性的设计,就变成了对整个等级结构中所有类的修改。
接口是可插入性的保证。
在一个等级结构中的任何一个类都可以实现一个接口,这个接口会影响到此类的所有子类,但不会影响到此类的任何超类。此类将不得不实现这个接口所规定的方法,而其子类可以从此类自动继承这些方法,当然也可以选择置换掉所有的这些方法,或者其中的某一些方法,这时候,这些子类具有了可插入性(并且可以用这个接口类型装载,传递实现了他的所有子类)。
我们关心的不是那一个具体的类,而是这个类是否实现了我们需要的接口。
接口提供了关联以及方法调用上的可插入性,软件系统的规模越大,生命周期越长,接口使得软件系统的灵活性和可扩展性,可插入性方面得到保证。
类型使用java接口将软件单位与内部和外部耦合起来。使用java接口不是具体的类进行变量的类型声明,方法的返还类型声明,参量的类型声明,以及数据类型的转换。
在理想的情况下,一个具体的java类应当只实现java接口和抽象java类中声明的方法,而不应当给多余方法。
类型等级结构
java接口(以及抽象类)一般用来作为一个类型的等级结构的起点。
如果一个类已经有了一个主要的超类型,那么通过实现一个接口,这个类可以拥有另一个次要的超类型,这种次要的超类型叫做混合类型。
java接口常用方法
单方法接口
public inte***ce actionlistener()
仅且只有一个方法,只有实现了这个接口(重写这个接口中的唯一一个方法),你才有资格去事件***列表里注册(参数为actionlistener类型),当事件源变动时,自动调用这个唯一的actionperformed方法。
标识接口
是没有任何方法和属性的接口。标识接口不对实现它的类有任何语意上的要求,它仅仅表明了实现它的类属于一个特定的类型(传递)。
不推荐过多的使用标识接口。
常量接口
用java接口来声明一些常量,然后由实现这个接口的类使用这些常量(以前在做画板的时候这么干过)。建议不要模仿这种常量接口的做法。
php什么情况用接口和抽象类,java中为什么要用抽象类和接口
1楼 育知同创教育 php 用接口和抽象类的情况 接口是一种协定,抽象类则相当于类模板。 使用抽象类,而不要使用接口来分离协定与实现。 如果需要提供多态层次结构的值类型,使用接口。 如果一个类型必须实现多个协定,或者协定适用于多种类型,使用接口。 虽然抽象类和接口都支持将协定与实现分离开来,但接口不...
java子类继承父类的好处有哪些
1楼 匿名用户 第一,让你少写 父亲类写过的东西,比如变量方法,你可以直接用,不用改了吧。 第二,让你好维护程序 在没有继承的时候,如果你想添加功能,你必须改动源 ,但是如果你没有呢,怎么办?你可以选择继承,呵呵,还有你的这个类体系都可以进行多态,写成通用的程序,好处多多啊。仔细体会。 第三,让你容...
学现代汉语有什么用处,学习现代汉语有什么好处?
1楼 古今汉语教育 通过学习现代汉语,提高理解 分析 运用现代汉语的能力,为将来从事语言文字工作 语文教学工作和现代汉语的研究工作打好基础。 学习现代汉语有什么好处? 2楼 bamboo大熊猫 你的外表可以打动一个人 但是你的语言可以征服一个人 怎么去传递你的思想 无论是书面还是口头 都无法离开语言...