gpt4 book ai didi

scala - 隐式是私有(private)的吗?

转载 作者:行者123 更新时间:2023-12-05 09:19:36 24 4
gpt4 key购买 nike

给定以下代码:

class Foo[R](i: Int)(implicit ev: Ordering[R]) {
final type T = ev.type
}

我收到以下错误:

Error:(13, 16) private value ev escapes its defining scope as part of type Foo.this.ev.type type T = ev.type

这让我觉得在构造函数中声明的隐式是私有(private)的。鉴于 T 是最终的,它不会被覆盖,所以它不应该引起任何问题。我在这里错过了什么?

最佳答案

class 构造函数中声明的所有参数都是 private 除非您告诉编译器它们不是。这与 case class 不同,在 case class 中,第一个参数列表中的所有参数默认都是 public,除非您以其他方式告诉编译器。

所以,是的,除非您专门为该值添加 val 或其他一些类似 public 的修饰符,否则默认情况下它是 private。因此,它告诉您一个私有(private)成员通过您定义该 type 的方式公开。

关于scala - 隐式是私有(private)的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40137810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com