问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中的“接口”应该怎么学?

发布网友 发布时间:2022-04-24 17:45

我来回答

5个回答

热心网友 时间:2023-10-27 22:27

对这个概念,开始的时候没必要花太多时间去钻研,
能够理解就行.这个问题,是需要开发的实践中慢慢剖析的
下面我给你做个浅谈!
-------------------------------------------------------------------------------
不知道有没有把抽象类和接口放在一起理解过
抽象侧重于对象,接口侧重于对象的功能
-------------------------------------------------------------
抽象类:概括出了不同对象的公有属性,使别人能够大致的去了解那是一个什么样的对象.并依据这些资料,来详细设计的一种概念.
---------------------------------------------------------------
还拿常用的例子:比如动物,动物有血有肉,有生命,有感情,有名字,有性别......
当你看到"动物"这个抽象概念的时候,可能没有想这么多.但是在潜意识里,是认同这种观点的
-----------------------------------------------------------------------------------------------------------------------
接口:java中有时候称它为特殊的抽象类
接口也有抽象方法,并且方法必须是抽象的.
----------------------------------------------------
接口侧重与对动作的"抽象".它是只能证明动作的存在,但不去实现动作的具体形式
所以,听起来,它好像没有对象.也就是说没有现实生活中的实物存在.没有对象接口也就没有了它存在的实际意义!所以它是服务于对象的.是抽象类的一种补充.
而事实上,接口的应用远远超出了这个范围.有时候甚至比抽象类还要重要!
---------------------------------------------------
还拿常用的例子:动物有声音,有行为,有思想.......,这些抽象出来.设计成接口.来表示对动作的一种抽象!侧重点的同时.区别也就出来了.不是动物就不代表没有动作.机器人,也有动作也有行为.植物也有动作也有行为.所以这个动物的接口,它的试用范围就跳出了这个动物的抽象概念.
---------------------------------------------------
打个疑问:耳机可以到处使用,是耳机实现了机器的接口,还是机器实现了耳机的接口呢!
---------------------------------------------------------------------------------------------------------------
到这里差不多能分清一点头绪.抽象类是对象的抽象.接口是对象动作的抽象(有生命和无生命共有的属性)
哪个对象需要表名自己的身份,可以继承抽象类,如果想表名自己的能力.可以去实现接口!
对象只能有一个基类,但是确可以实现很多接口.对象是死的.能力是无限的(java面相对象!)
继承了同一个抽象类,那么这些子类,就可以共享基类的资源.同时也有了一个管理的标准.
在传递参数的时候,可以让基类站出来做代表.但是它只负责自己被子类所继承的属性!
由于不同对象,如果他们的基类相同.他们就具有了共有资源.也就是说.他们之间能够进行有*性的相互转换.可以根据需要,有*的进行强制转换!
这就是,一个子类只能继承一个基类.一个基类可以被多个子类继承.子类可以做为基类,被另外的子类继承.
----------------------------------------------------------------
当抽象类,把所有子类,*在一个超类的范围内的时候.
接口就实现了空前的开放!
接口不*谁去实现它,不*一个类实现多少个接口.
而且只要实现这个接口,你就必须去实现它的抽象方法.(强制性的)哪怕空实现
--------------------------------------------------------------------------------------------------------
但是有一点,一旦这些类实现了这个接口.那么这个接口,就拥有了和基类几乎相同的权利.
它的引用可以指向任意一个实现这个接口的类的对象.它在增加对象的功能的同时,它通过行为管理了很多对象.实际上是"*"了很多对象.不管这些对象是不是一个"家族"的(多态)
----------------------------------------------------------------------------------------------
如果一个类实现了一个接口,但是并不实现接口的某个类,那么这个类也是抽象类!
但是不能因为这个就下定义认为接口的应用超过了抽象类!.因为飞机飞的再高,也是没有智慧!
--------------------------------------------------------------
回头,再看,抽象类为什么有自己的抽象方法,不是也可以去抽象动作吗?
没错,抽象类,也可以有自己的抽象方法.不是有的时候,而是很多时候.
甚至看上去可以不需要接口.在这里没什么可争执的.
技术是用来方便和促进生产的,生产力要适应生产方式才行
------------------------------------------------------------------------
在需要它的时候,它能适时的出现,并能为开发发挥非常优秀的性能.那才是它的价值
就好像写一个HelloWord一样,没人要求里面有几个方法,没人要求用什么变量
是private的还是public的.索性添上一个static void方法,再加个别的什么变量.也没人指点什么
因为,它的意义只在于测试你的jdk或者一个"入门"
-----------------------------------------------------------------------------------------------------------------------
你再在百度搜点别的对比理解一下就差不多了
认真看三到五篇,对这个概念的解析.看一两个简单的例子,就差不多足够了

热心网友 时间:2023-10-27 22:27

//USB接口
interface Usb{
public void work();
}
//鼠标
public class Mouse implements Usb(){
public void work(){
System.out.println("鼠标在工作");
}
//MP3
public class MP3 implements Usb(){
public void work(){
System.out.println("MP3在工作");
}
//电脑
public class PC{
Usb[] usbArray;//
public PC(){
usbArray = new Usb[6];//这个PC支持6个USB接口
}
public void runUsb(){
for(int i=0;i<usbArray.length;i++){
if(usbArray[i]!=null){
usbArray[i].work();
}
}
}
//usbArray的getter和setter;
}
//测试类
public class Test{
public static void main(String[] argv){
PC pc = new PC();
pc.getUsbArray()[0]= new MP3();
pc.getUsbArray()[1] = new Mouse();
pc.runUsb();
}
}
这个代码示例的意思就是说,电脑只需要知道设备是USB接口的,而不关心是鼠标还是MP3 都能让它工作,接口这个概念在程序设计的时候尤为重要。

热心网友 时间:2023-10-27 22:28

切身体会:对于初学者 找一本java初级的入门书籍从头到尾按照书中的知识跟着看 例子跟着做,每天8小时以上一个月后 你就是java通了 至于书籍 孙鑫的 和

热心网友 时间:2023-10-27 22:29

深层次的理解,接口其实是一种标准,一种框架。你想要使用它,就必须遵守他的规则

热心网友 时间:2023-10-27 22:29

接口就相当于诺言承诺 必须实现
实现某个接口就要实现里面所有的方法
里面所有的方法都是抽象的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
asp.net我下载的一个博客网站,运行的时候怎么就打不开呢? asp.net网站网线拔了不能运行 急!!asp.net虚拟目录无法运行!!! 为什么在. net环境中运行ASP. NET应用程序时出现错? 10月法定节假日是哪几天 三星s4加密设备怎么取消 怎么样才能让脑子灵活开窍变聪明 刹车的技巧? 我的车险2015年1月11号到期我可以提前上吗 ...只听见声音,屏幕黑屏,我还没进房间呢就死机,鼠标可以动,黑屏,无法... java中的接口怎么用? java 什么是接口,如何实现接口 java接口是什么?接口怎么用? 接口怎么理解 怎么调用接口中的方法 java 接口到底怎么用 ?到底应该怎么实现? 天干相冲是什么意思? JAVA中接口具体该怎么使用? 最近两年新冠病毒席卷全球,该如何预防? 如何定义一个接口 天干相冲问题 八字天干地支相克暗示将有哪些暗示 JAVA中接口具体该怎么使用 算命中的相克是什么意思? 属相和八字中所说的相克是什么意思?!求大神解释!急急急! 天克之命也什么意思? 天干乙克己什么意思 天干相克地支相刑是什么意思呢? 天干如何相生相克 昊庭律师事务所怎么样? java什么是接口,如何定义接口 接口到底什么啊?接口到底怎么写?PHP JAVA中接口怎么用,主要是语法,求解,谢谢啦 2022年27岁属什么? 1995年属猪双子座2022年运势? 在虎年,生肖是猪的运势怎么样? 2022年生肖猪运势运程 2022年福禄双全,喜事扎堆的这些生肖,你的生肖上榜了吗? 己已乙亥壬午丁未在2022年的运势 麦玲玲2022年生肖猪运程 梦见过世的妈妈活着挑满水缸的水但很浑浊? 我梦到两个水缸,一个水缸里的水有点浑,有两个人和里面舀水什么意思? 梦见水缸水浑,还有青蛙,把缸里水掉扔了 梦见池里的水浑 农村选拔村委会主任 什么人有选举权 村委会换届选举村主任如何确定 周公解梦,梦见家里水缸里满满的水,而水里有杂质? 村主任的职责是什么 户口不在本村的能参加村主任的竞选吗 重庆学习花艺要多少钱,哪里最靠谱?