本篇内容介绍了“Java接口如何定义和使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一方面,有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。另一方面,有时必须从几个类中抽取出一些共同的行为特征,而它们之间又没有is-a的关系,仅仅是具有相同的行为特征而已。例如:鼠标、键盘、打印机、扫描仪、摄像头、充电器、MP3机、手机、数码相机、移动硬盘等都支持USB连接。接口就是规范,定义的是一组规则,体现了现实世界中“如果你是/要…则必须能…”的思想。继承是一个”是不是”的关系,而接口实现则是”能不能”的关系。接口的本质是契约,标准,规范,就像我们的法律一样。制定好后大家都要遵守。接口使用关键字interface
来定义。Java中,接口和类是并免费云主机域名列关系,或者接口可以理解为一种特殊的类。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义(JDK7.0
及之前),而没有变量和方法的实现。定义Java类的语法格式:先写extends
,后写implements
接口(interface
)是抽象方法和常量值定义的集合。如何定义接口:JDK7及以前:只能定义全局常量和抽象方法接口中的所有成员变量都默认是由public static final
修饰的,可以省略不写。接口中的所有抽象方法都默认是由public abstract
修饰的。代码演示:JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法。1.静态方法:使用 static
关键字修饰。接口中定义的静态方法,只能通过接口来调用,并执行其方法体。我们经常在相互一起使用的类中使用静态方法。你可以在标准库中找到像Collection/Collections
或者Path/Paths
这样成对的接口和类。2.默认方法:默认方法使用 default
关键字修饰。可以通过实现类对象来调用。我们在已有的接口中提供新方法的同时,还保持了与旧版本代码的兼容性。比如:java 8 API中对Collection
、List
、Comparator
等接口提供了丰富的默认方法。若一个接口中定义了一个默认方法,而另外一个接口中也定义了一个同名同参数的方法(不管此方法是否是默认方法),在实现类同时实现了这两个接口时,会出现:接口冲突。 解决办法:实现类必须覆盖接口中同名同参数的方法,来解决冲突。若一个接口中定义了一个默认方法,而父类中也定义了一个同名同参数的非抽象方法,那么子类在没有重写此方法的情况下,默认调用的是父类中的同名同参数的方法,不会出现冲突问题。因为此时遵守:类优先原则。接口中具有相同名称和参数的默认方法会被忽略。如何在子类(或实现类)的方法中调用父类、接口中被重写的方法?代码演示1:代码演示2:接口中不能定义构造器的!意味着接口不可以实例化。接口采用多继承机制。可以实现多个接口 ,弥补了Java单继承性的局限性。格式:class AA extends BB implements CC,DD,EE;
Java开发中,接口通过让类去实现(implements
)的方式来使用。如果实现类覆盖了接口中的所有抽象方法,则此实现类就可以实例化 。如果实现类没有覆盖接口中所有的抽象方法,则此实现类仍为一个抽象类。代码演示:接口与接口之间可以继承,而且可以多继承。一个类可以实现多个无关的接口。代码演示:与继承关系类似,接口与实现类之间存在多态性代码演示:接口的匿名实现类匿名对象代码演示:安全代理:屏蔽对真实角色的直接访问。远程代理:通过代理类处理远程方法调用(RMI)。延迟加载:先加载轻量级的代理对象,真正需要再加载真实对象,比如你要开发一个大文档查看软件,大文档中有大的图片,有可能一个图片有100MB,在打开文件时,不可能将所有的图片都显示出来,这样就可以使用代理模式,当需要查看图片时,用proxy来进行大图片的打开。静态代理(静态定义代理类)动态代理(动态生成代理类)“Java接口如何定义和使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!
本文小编为大家详细介绍“go语言定时器Timer及Ticker怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言定时器Timer及Ticker怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。星号(*) :表示 c…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。