java中什么是接口?接口的作用是什么?

作者&投稿:蓍乐 (若有异议请与网页底部的电邮联系)
~

抽象类和接口

什么是接口:接口就是一些方法特征的集合------接口是对抽象的抽象。

什么是抽象类:抽象类对某具体类型的部分实现------抽象类是对具体的抽象。

方法特征包括:方法的名字、参数的数目、参数的类型。不包括:返回类型、参数名字、和抛出的异常。

接口是类型转换的前提、是动态调用的保证。实现某一接口就完成了类型的转换(多重继承);动态调用只关心类型,不关心具体类。

--------------------------------------------------------------------------------------------------------------------------------------

java接口(抽象类)用来声明一个新的类型。

Java设计师应当主要使用接口和抽象类将软件单位与内部和外部耦合起来。

换言之,应当使用java接口和抽象类而不是具体类进行变量的类型声明、参数的类型声明、方法的返回类型声明、以及数据类型的转换等。

当然一个更好的做法是仅仅使用接口,而不是抽象类来做上面这些事情。

在理想的情况下,一个具体类应当只实现接口和抽象类中声明的方法,而不应当给出多余的方法!

接口和抽象类一般作为一个类型等级结构的起点。

接口比抽象类更为抽象所以优先使用接口声明抽象类型!

--------------------------------------------------------------------------------------------------------------------------------------

抽象类和接口

抽象类仅提供一个类的部分实现。抽象类可以有实例变量、以及一个或多个构造函数。抽象类可以同时又抽象方法和具体方法。

一个抽象类不会有实例,它的构造函数不能被客户端用来创建实例。一个抽象类的构造函数可以被其子类调用,从而使一个抽象类的所有子类可以有一些共同的实现,而不同的子类可以在此基础上有不同的实现。

接口比抽象类更为抽象所以有线使用接口声明抽象类!

抽象类是用来继承的。(具体类不是用来继承的,“只要有可能不要从具体类继承---scottmeryes”)。

抽象类设计原则:

1.抽象类应当拥有尽可能多的代码!(公用方法)。代码集中于抽象的方向。

2.抽象类应当拥有尽可能少的数据!(公共属性)。数据集中于具体的方向。

继承复用的使用条件-------PeterCoad条件

1.子类是超类的一个特殊种类而不是超类的一个角色!正确区分“Has-A”“Is-A”的关系。

2.子类之间不应发生替换!?

3.子类具有扩展超类的责任,而不是置换(Override)掉或注销(Nullify)掉的责任。

4.只有在分类学角度上有意义时才可以使用继承,不要从具体类继承。

接口和抽象类的区别:

1.抽象类可以提供某些方法的实现。如果向抽象类中加入一个新的具体的方法,那么所有的子类一下子就得到了这个方法。接口做不到这一点!(这也许是抽象类的唯一优点)。

2.因java的单根结构限制,只类只能实现一个抽象类类型,而接口类型这无此限制。这使抽象类作为类型定义工具的效能落后于接口。接口是定义混合类型(实现多从继承)的理想工具:用一个

3.从代码重构的角度上讲,将一个具体类重构成一个接口的实现是很容易的。

研究好这中间的差别很有用的!




Lava-LavaLava-Lava产品介绍
它不仅仅是一款通讯工具,更是一个开放的平台,让合作伙伴有机会定制自己的产品版本,改变名称、外观和频道内容,实现个性化即时通讯体验。通过丰富的二次开发接口,合作伙伴能够添加新功能或服务,无缝融入自己的网站、软件或服务,打造独具特色的专业版本。Lava-Lava的灵活性使其能满足市场对即时通讯服务的...

java中a++和++a的区别
Java中a++和++a的区别a++先参与程序的运行,后赋值+1给变量a。++a先赋值+1给变量a,后参与程序的运行。Java是一个通用术语,用于表示Java软件及其组件,包括Java运行时环境、ava虚拟机以及插件。Java具有大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的形式...

关于AVA配置
AvA 鼠标推荐 "Steelseries Xai"SteelSeries Xai 参数 适用类型 :竞技游戏,家用装机 工作方式 :激光 连接类型 :有线 鼠标大小 :大鼠 按键数 :7 鼠标接口 :USB 鼠标颜色 :黑色 最高分辨率(DPI) :5000dpi DPI可调 :二档 扫描率 :12000次\/秒 人体工学 :对称设计 其他性能 :尺寸:125.5...

虹光AVA6重要参数
在扫描速度方面,虹光AVA6在黑白模式下,每200dpi的分辨率下仅需6.1秒就能完成扫描,对于商务用户来说,这无疑提升了工作效率。色彩位数上,彩色模式支持24位,灰阶模式则为8位,色彩表现力和灰度层次感都十分丰富。接口方面,虹光AVA6采用了USB2.0标准,方便用户与电脑或其他设备连接,传输数据快速且...

蓝宝石 hd3650 agp
1.玩BF2和COD4都可以的,但是AVA是什么我就不清楚了...2.现在早就没有PCI接口的了,HD 3650是PCIE接口的,价格上HD 3650的AGP版确实是比较贵(因为HSI桥接芯片的成本).3.P4X400不支持PCIE接口,所以只能用AGP显卡.HD3650 AGP版可以在这个主板上使用.P4 2.26搭配HD 3650肯定有瓶颈的,用个GeForce ...

双敏速配2 GT210 AVA战神版双敏速配2 GT210 AVA战神版详细参数_百度知 ...
这款显卡采用的是NVIDIA的GeForce G210显卡芯片,属于NVIDIA GT200系列,采用55纳米制造工艺,核心代号为GT218。其核心频率为550MHz,显存频率为1400MHz,显存类型为GDDR3,拥有128MB的显存容量和128bit的显存位宽,支持最高分辨率2560×1600。散热方面,它采用了散热风扇,确保稳定运行。显卡接口方面,它支持...

什么是Java?
在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入...

虹光AVA6基本参数
虹光AVA6兼容多种操作系统,包括Win98\/SE\/ME\/2000\/XP\/NT,随附的驱动程序包括ISIS Driver和TWAIN Driver,确保与各种设备的兼容性。其功耗低至<12W,节能环保。附件包括电源线、USB 2.0接口线、使用手册、随机光盘(包含PaperPort 9 SE、roxio PhotoSuite和AVCapture等软件)以及保修卡,为用户提供了...

我觉得java最大的优点是不是java很稳定,不会出现大的更新?
因为java的更新,有一个原则就是向下兼容,也就是你在jdk1.4上写的代码,跑在jdk1.7上一点问题没有。java入门其实不难,你如果会.net,一两天就可以学会基本使用。编程的知识更多的是编程的一个思想,而不是具体的语言的实现,比如我们要做一个用户注册的功能,不管用什么语言编写,这个用户注册的...

玩AVA出现这个是什么原因照成的?
,0X0000007B 这个代码和硬盘,但不要害怕,没有坏扇区,是设置问题或者病毒造成的硬盘引导分区错误。如果你有这样的问题,当使用原来的系统盘安装系统,那么你的机器配置还是比较新的,老的系统盘不承认这样一个新的硬盘接口,所以当他走进BIOS到硬盘模式改成IDE兼容模式。当然,现在人们都用ghost版的操作...

隰县18620255631: java中什么是接口?接口的作用是什么? -
诗荣小儿: 接口就是java提供的一个面向对象的机制,接口类似于全部方法都是抽象方法的抽象类,(抽象类你肯定知道了撒),就好比抽象方法和常量值的定义的集合,申明方法和类的申明方法差不多. interface{ [] [] } 同时接口中所有的方法都是抽象方法,而且接口中的方法都默认是public,abstract的,所以可以省略2个修饰符,但是正因为如此,不能使用和public,abstract有冲突的方法标示,在接口中也可以申明常量,但是不能申明实例变量. java中的继承只能支持单一继承,所以.接口的提供为我们实现多继承提供了路径,这么理解就很方便了,

隰县18620255631: JAVA:什么是接口,它的主要作用是什么?
诗荣小儿: 接口是用来规范类的,它可以避免类在设计上的不一致 这在多人合作的开发中犹为重要 , 你象一个人,把他封装一个类对象,作为一个接口实现的话,一继承就能实现人的所有的属性和方法,并且重复多次的利用,就不用每次都自己写了,而某个人的某个行为与大多数人不同的话,就可以重写这个方法,要是普通类的话只能调用的不能重写,这就是接口的好处 在商业上说的话,你做一个项目,如果这个项目有专门的一套接口的话,只需要重写这些方法就可以了,所以说真正的JAVA高手都封装到接口,这是我们这些普通的程序员无法做到的,如果能做到把一个项目所有的都封装到接口的话,那你的工资就相当可观了,可能超出你的预测

隰县18620255631: JAVA里面接口的作用是什么 -
诗荣小儿: 接口的作用简单一点就是:接口是用来标记类的,不同的类属于不同的接口(通过向上转型),管理接口比管理各种各样的类方便多了,接口体现了抽象的观点,什么是抽象?抽象就是"抽去像的部分".主要是定义了一个类的规范,我觉得...

隰县18620255631: Java中,请简述接口的作用? -
诗荣小儿: Java里面的接口Java里面由于不允许多重继承,所以如果要实现多个类的功能,则可以通过实现多个接口来实现.Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现.OOP面向对象的编程,如果要...

隰县18620255631: java中的接口的作用是什么啊 -
诗荣小儿: 我举个我常遇见的小例子方便你理解.我们做java开发,通常用到数据库.数据库有oracle,DB2等等.不同的数据库操作上有些差别.而我们做一个项目,卖给别人的是.class文件,也就是说,不能修改源码了.如果客户需求说,可能要换数...

隰县18620255631: Java接口的作用? -
诗荣小儿: 接口的最主要的作用是达到统一访问,就是在创建对象的时候用接口创建,【接口名】 【对象名】=new 【实现接口的类】,这样你像用哪个类的对象就可以new哪个对象了,不需要改原来的代码,就和你的USB接口一样,插什么读什么,就是...

隰县18620255631: java中接口有什么作用 -
诗荣小儿: 接口的作用就是把使用接口的人和实现接口的人分开,实现接口的人不必要关心谁去使用,而使用接口的人也不用关心谁实现的接口,由接口将他们联系在一起.以上像一段绕口令,那么通过下面的几段程序解释: 1、以生产和使用一台计算机...

隰县18620255631: java 的接口到底起什么作用 -
诗荣小儿: 下面是madai和clkrst给我的回答. 在此谢谢两位. 我的问题是: ? 1、从书中看到的是java程序的接口中只定义了常量及空方法,空的方法有什么用呢?还要在类中写方法体,那还要接口干什么? 2、一个程序中写了2个接口,并在同一个类中...

隰县18620255631: java的接口都有什么作用 -
诗荣小儿: 1)接口解决了多继承的问题; 2)接口便于将行为的声明与实现分割开来,有利于组件之间的解藕 3)有的时候在团队开发中,你不想把如何实现的细节告诉别人,就只要提供一个接口给别人调用就行了

隰县18620255631: java中接口的功能及其定义格式 -
诗荣小儿: 接口定义为 public interface 接口名称{}接口的作用是基于面向对象思想的,给你举个例子: 例如,我们有一个男人实现了“人”接口,“人”接口中有走路的方法,现在男人实现了“走路”方法,这时候,如果有个需求,要把男人换为女人,这时候只要换做女人类,并且女人类实现了“走路”方法,用女人类替换掉男人类即可. 这样的好处就是,接口没有变,也就是设计中的接口没有变,只是实现类的变化,最大程度的减少了需求变化对代码的影响. 希望对楼主有帮助,如果还有不明白的地方,请留言.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网