访问抽象类 (Scala) 中构造函数创建的字段

2024-02-12

我有一个实现一种方法的抽象类。

我如何访问参数internalValue(由抽象类构造函数设置?)

abstract class Value(internalValue:Int) {
    def equal( v:Value ): Boolean

    def notEqual( v:Value ): Boolean = {

        //here I get an error on v.internalValue:
        //"value internalValue is not a member of Value"
        (internalValue != v.internalValue)
    }
}

case class Value1(internalValue:Int) extends Value(internalValue){
    def equal( v:Value1 ): Boolean = {
        //this works correctly
        (internalValue == v.internalValue)
    }
}

谢谢。


Define internalValue to be val:

abstract class Value(val internalValue: Int)

或者如果您担心封装(名称internalValue建议)你可以使用private val:

abstract class Value(private val internalValue: Int)

Not declaring any modified at all is effectively equivalent (?) similar to private[this] which means: only this particular instance of Value can access this private field.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问抽象类 (Scala) 中构造函数创建的字段 的相关文章

  • Scala 中的随机列表[重复]

    这个问题在这里已经有答案了 我对 scala 中的随机播放列表有疑问 使用scala util Random 例如我有 val a cyan val b magenta val c yellow val d key val color Ra
  • 了解 Spark 中的 DAG

    问题是我有以下 DAG 我认为当需要洗牌时 火花将工作划分为不同的阶段 考虑阶段 0 和阶段 1 有些操作不需要洗牌 那么为什么 Spark 将它们分成不同的阶段呢 我认为跨分区的实际数据移动应该发生在第 2 阶段 因为这里我们需要cogr
  • 如何通过删除 Scala 中的一个元素来从列表中获取所有可能的子列表?

    我有一个清单List 1 2 3 4 并希望通过删除一个元素来获得所有子列表 List 2 3 4 List 1 3 4 List 1 2 4 List 1 2 3 做到这一点最简单的方法是什么 如果你的意思是 离开每个position在列
  • 将下划线分配给变量。下划线是做什么的?

    最近我遇到了这样的代码 var myVariable variableKind 这似乎是一种分配方式null to myVariable 谁能解释一下背后的理由 在这种情况下 分配之间有什么区别 and null到一个变量 它使用默认值初始
  • HDFS:使用 Java / Scala API 移动多个文件

    我需要使用 Java Scala 程序移动 HDFS 中对应于给定正则表达式的多个文件 例如 我必须移动所有名称为 xml从文件夹a到文件夹b 使用 shell 命令我可以使用以下命令 bin hdfs dfs mv a xml b 我可以
  • 解决 sbt 中 jar 加载冲突的问题

    当两个特定的 sbt 插件启动时 我在 sbt 启动时收到以下错误加在一起到其构建定义中的项目 这些 sbt 插件之一是规模化jdbc https github com scalikejdbc scalikejdbc另一个是my own h
  • 你能在 scala 中使用 varargs 柯里化一个函数吗?

    我正在考虑如何用可变参数柯里化一种方法 然后我意识到我什至不知道如何去做 理想情况下 它应该让您可以随时开始使用它 然后以可迭代结束 def concat strs String strs mkString val curriedConca
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • 在泛型方法中返回原始集合类型

    假设我们想要创建一个像这样的函数minBy返回集合中同等极简主义的所有元素 def multiMinBy A B Ordering xs Traversable A f A gt B val minVal f xs minBy f xs f
  • 如何记录来自 Akka (Java) 的所有传入消息

    在 Scala 中 您可以使用 LoggingReceive 包装接收函数 如何通过 Java API 实现相同的目标 def receive LoggingReceive case x do something Scala API 有Lo
  • 如何将数据帧转换为 JSON 并使用密钥写入 kafka 主题

    我正在尝试以 JSON 格式向 kafka 写入一个数据帧 并在 Scala 中向该数据帧添加一个键 我目前正在使用 kafka spark 中的这个示例 df selectExpr CAST key AS STRING CAST valu
  • Java时间转正常格式

    我有 Java 时间1380822000000 我想转换为我可以阅读的内容 import java util Date object Ws1 val a new Date 1380822000000 toString 导致异常 warnin
  • 如何使用 zio-test 测试异常情况

    我有以下功能 我想测试 def people id Int RIO R People 如果有 People 则此函数返回 Peopleid 分别 如果没有则失败 例如 IO fail ServiceException s No People
  • 具有通用返回类型的可选函数参数

    您将如何实现通过正则表达式解析某些输入并将创建的字符串转换为其他类型的类 我的做法是 class ARegex T regex Regex reform Option String gt T def findFirst input Stri
  • 将 Scala Future 转变为 CompletableFuture

    我的项目中有一个 Akka 层 它返回Scala Future 而接收 Future 的部分是 Java 风格的 团队中的人不了解 Scala 他们宁愿使用CompletableFuture因为他们更了解 Java 8 API 有没有什么好
  • Spark 对 RDD 中按值排序

    我有一个火花对 RDD 键 计数 如下 Array String Int Array a 1 b 2 c 1 d 3 使用spark scala API如何获取按值排序的新RDD对 所需结果 Array d 3 b 2 a 1 c 1 这应
  • Java编译错误:包不存在

    在我的工作区 wsPrivate 中 我有 3 个 gradle 项目 刽子手 像素视图 Reports PixelView 和 Reports 项目编译良好 然而 Hangman 使用这两个项目 并且有些在编译时找不到包 请参阅以下错误
  • Scala 如何使用我的所有核心?

    object PrefixScan sealed abstract class Tree A case class Leaf A a A extends Tree A case class Node A l Tree A r Tree A
  • 从继承类实现抽象方法

    我正在尝试做一些我以前从未真正做过的事情 我基本上有3节课 A 类是一个具有纯虚方法的抽象类 B 类是一个独立的类 其中包含与 A 类中的虚方法同名的方法 我试图将 C 类中的所有内容结合在一起 我想在C中继承类B和A 多重继承 并使用类B
  • 强制类型差异

    在 Scala 中 我可以在编译时强制执行类型相等 例如 case class Foo A B a A b B implicit ev A B scala gt Foo 1 2 res3 Foo Int Int Foo 1 2 scala

随机推荐

  • Swift === 与 nil

    为什么以下代码在 Swift 中不起作用 if someObject nil 您必须使用 运算符进行测试 例如 if someObject nil 我认为 更像是确保实例完全相同 基本上是比较指针 而 更像是 isEqual 检查 因此我认
  • Android:使用FLAG_SECURE方法后无法截图

    出于安全原因 我想在应用程序进入后台时隐藏应用程序的内容 了解使用下面的方法可以完成这项工作 但我希望屏幕截图功能仍然有效 getWindow addFlags WindowManager LayoutParams FLAG SECURE
  • 稀疏哈希映射对于特定数据非常慢

    tl dr 为什么关键查找sparse hash map对于特定数据 速度变慢约 50 倍 我正在测试速度关键查找 for sparse hash map来自 Google 的稀疏哈希库 使用我编写的非常简单的 Cython 包装器 哈希表
  • 尝试使用 Django 发送电子邮件时出现“[Errno 101] 网络无法访问”

    由于某种原因 我在尝试使用 Django 发送电子邮件 使用 gmail 时收到此错误 Errno 101 Network is unreachable 奇怪的是 它似乎只发生在我的网络应用程序在我的服务器 bluehost 上运行时 在本
  • 如何使用自定义行为设置折叠工具栏的背景以适合整个屏幕

    我正在关注一个很好的存储库 它展示了如何使折叠工具栏的自定义行为WhatsApp 个人资料折叠工具栏 https github com anton46 WhatsApp ProfileCollapsingToolbar 我不喜欢的是 当工具
  • HTML 选取框在 iOS 5.1 中不工作

    请看下面的函数 void loadHTMLinWebView objWebView UIWebView alloc initWithFrame CGRectMake 0 0 self frame size width self frame
  • 淘汰赛换行值绑定

    我在用Mathias Bynen 的占位符代码 https github com mathiasbynens jquery placeholder我想将它与淘汰赛一起使用 如果我做一个简单的自定义绑定 如下所示 ko bindingHand
  • Win RT XAML 中的布尔到可见性转换器第一次无法工作

    今天在 Windows RT Windows 商店应用程序 的 XAML 中工作时很奇怪 当IsValid true从我的视图模型设置我的布尔到可见性转换器第一次不起作用 我的路径保持隐藏 但随后确实显示正确的可见性 这是一个错误 还是可能
  • Android Scrollview 具有 videoview 会出现问题

    我有一个位于滚动视图内的视频视图 当我滚动滚动视图时 视频视图不会随之滚动 就好像它的位置是固定的一样 这是我的布局
  • 如何从 C# 中的 URL 下载文件?

    从 URL 路径下载文件的简单方法是什么 using var client new WebClient client DownloadFile http example com file song a mpeg a mpeg
  • 量角器需要密码才能登录 => 不安全?

    我开始使用 Protractor 进行 e2e 测试 要测试某些页面 我首先需要登录 现在我有这部分用于输入密码 var passInput element by id Passwd passInput sendKeys test 现在 当
  • 如何获取 eq() 值?

    这可能吗 为了让我得到eq 价值 例如 如果我单击li eq 2 var x会变成2 这是代码 numbers ul li click function x this eq val alert x The index what is thi
  • 从 Uri 转换位图返回 null [重复]

    这个问题在这里已经有答案了 在我的 Android 应用程序中 我使用 Google 驱动器来选择图像和文件 对于文件 我的代码在大多数情况下都运行良好 不幸的是 在某些情况下图像导入不起作用 图像位图返回空值 下面是我用来将内容 URI
  • 我们如何处理 BDD 场景的微小排列?

    我喜欢 BDD 开发方法 但我遇到了一个问题 即该方法能走多远 这条来自 ThoughtWorks 的最新评论Radar http thoughtworks fileburst com assets thoughtworks tech ra
  • 使用 Guice AOP 在 Jersey 中进行方法拦截

    是否可以使用 Guice AOP 拦截 Jersey 资源上的带注释的方法 我已经成功配置了 Guice 与 Jersey 的依赖注入集成 没有任何问题 但是我配置的拦截器根本没有拦截我带注释的方法 web xml
  • 在 Bootstrap 3 的弹出窗口中放置一个表单? [复制]

    这个问题在这里已经有答案了 如何在 Bootstrap 3 中的弹出窗口中放置表单 a href class btn btn lg btn danger title Click It a 它给出了如下效果 我想在它的体内放置一个形式 我们怎
  • Rails 与非 Rails 数据库设计

    完全新手研究 Rails Rails 是否可以与不符合 Rails 默认命名和设计约定的只读模式一起使用 例如 我的数据库架构具有使用字符串列作为唯一主键的基表 例如 名为 Jobs 的基表可能具有定义为 Jobs Job 的唯一主键 并且
  • IntelliJ Idea - 在调试器中搜索值

    我需要知道是否可以在 IntelliJ Idea 的调试器中搜索值 示例 您有一个巨大的对象树 您需要找到设置为相同特定值的字符串变量 有什么办法可以做到这一点吗 展开此树以便您可以看到所有这些字符串 然后开始输入您要搜索的内容 快速搜索应
  • 在嵌套片段中使用 OptionsMenu

    我使用在我的主机活动中实现的 NavigationDrawer 模式菜单活动 我的导航有 3 个项目 项目 1 项目 2 项目 3 每个项目都绑定到一个片段 当我单击 Item 1 时 我显示了一个片段 A 它实现了具有多个片段 嵌套片段
  • 访问抽象类 (Scala) 中构造函数创建的字段

    我有一个实现一种方法的抽象类 我如何访问参数internalValue 由抽象类构造函数设置 abstract class Value internalValue Int def equal v Value Boolean def notE