槐序听雨声 2021-02-23 05:25 采纳率: 25%
浏览 65

应该如何正确理解接口这个概念?

初学Java,许多东西还不是很理解。其中接口是最让我感到困惑的一个概念。

如果说类可以轻松的通过构造方法和类方法在Main中设定各种属性以及各种不同的功能的话,接口似乎就更偏向单纯的提供方法结构了。

那么我的疑问是,接口是否也有关联对象及其属性的功能?

假如我用对象与类,可以一次性构造出一个卡牌的所有基本属性,比如卡牌名称,卡牌大小,卡牌能力等等(或者人物属性,比如人物名称,人物年龄,人物性别等等)。那么使用接口,是否也能做到这一点呢?因为书中与许多网站上都说接口与抽象类非常相似,只是没有构造方法。而抽象类是能做到以上我所说的那些,只是需要一个可以实例化的类。但是接口,我实在是想象不出来如何才能做到这几点。

望各位前辈和大神们能指点迷津一下!感激不尽!

  • 写回答

3条回答 默认 最新

  • 幻灰龙 2021-02-23 08:27
    关注
    • 类(class)或者抽象类(abstract class)可以继承接口(interface)并提供具体实现(implement),
    • 接口不提供具体实现,只约定接口含有哪些方法和公共属性,能干什么(What、How、Why里面的What)。例如这里有接口的使用的例子:https://blog.csdn.net/wei_zhi/article/details/52738471
    • 接口一般用来解除耦合,把能做什么和具体的实现分离,OOP编程的核心就是面向接口编程。
    • 脱离Java语言层面,你可以看到接口是一个更为广泛的概念,例如C语言的函数声明是接口,函数实现则不是。
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置