当前位置: 首页 > 面试题库 >

接口中的变量

吕飞翼
2023-03-14
问题内容

为什么在接口中使用的变量是PUBLIC STATIC FINAL?为什么特别是“静态”?


问题答案:

无论如何,在接口中声明的字段只能是常量,那么为什么它取决于您使用哪个实例来访问它?

无论如何,将字段放在接口中通常都是不好的样式。该接口旨在反映实现该接口的类的功能-这与常量的概念完全正交。使用接口 只是
声明一堆常量肯定是一个讨厌的主意。我偶尔会发现使接口类型公开简单的实现很有用,例如,过滤接口可能具有“ ALLOW_ALL”和“
ALLOW_NONE”字段。

我想你可以 设想 ,其中实现一个接口场景的 根本 实际上是一个实例字段添加到您的类-
但是这将不仅是含蓄公众开放,但也通过指定执行,而不是API的一部分,它的条款破坏了封装。



 类似资料:
  • 问题内容: 我想知道有什么方法可以强制实现者类声明对象的句柄/基元,就像它们对方法所做的那样。例如: 在上述方法中,我们如何强制Tile类使用该接口声明height和width属性?由于某些原因,我只想使用界面来做! 我最初考虑将其与继承一起使用。但是,我必须处理3个班级。 长方形 瓦 JLabel! class Tile extends JLabel implements Rectangle {

  • 问题内容: 我有一个类似于以下的代码 这不是实际的生产代码,但这是简化的版本。 问题:-如果取消注释该行,则会出现编译错误 如何执行通过Invoke()函数作为参数接收的函数? 什么是实现此目标的正确方法? 问题答案: 您可以使用的或方法将其作为函数调用。与所有方法一样,这种恐慌是错误的类型。 http://play.golang.org/p/xGmNLDcLL_

  • 本文向大家介绍C# 泛型接口的抗变和协变,包括了C# 泛型接口的抗变和协变的使用技巧和注意事项,需要的朋友参考一下 1, 泛型接口的协变 如果泛型类型用out关键字标注,泛型接口就是协变的。这也意味着返回类型只能是T。 泛型接口的抗变 如果泛型类型用in关键字标注,泛型接口就是抗变的。这样,接口只能把泛型类型T用作其方法的输入,即方法的参数。 这是泛型接口的抗变和协变的定义,那我们下面来用代码说明

  • 问题内容: 我有一个定义方法的接口。我有一个 实现 此接口的结构。在其中,我已经从该接口实现了方法,并且还定义了其他方法。 例如: 在操场上:https : //play.golang.org/p/B1GgoNToNl_l 在此,WagTail()不是Animal接口的一部分,但属于Dog结构。运行此代码会出现错误 dog.WagTail未定义(动物类型没有字段或方法WagTail)。 有没有一种

  • 为什么它这样做,它有一个更好的做法?在sub接口中实现方法有什么区别吗?

  • expvar 挺简单的,然而,它也是很有用的。但不幸的是,貌似了解它的人不多。来自 godoc.org 的数据表明,没有多少人知道这个包。截止目前(2017-6-18),该包被公开的项目 import 2207 次,相比较而言,连 image 包都被 import 3491 次之多。 如果你看到了这里,希望以后你的项目中能使用上 expvar 这个包。 包简介 包 expvar 为公共变量提供了一