Scala“无法在Main类中访问构造器秒表”

吉姆罗瑟

关于解决方案的摘要,我以为我正在处理Scala问题,但事实证明Stopwatch和Scala Logging具有私有构造函数,而我没有调用适当的公共方法来实例化它们。以下gzm0的答案指出了这一点。


尝试使用Guava秒表和Scala日志记录,无论我是在Main中还是在实例化类中创建一个,new Stopwatch()还是new Logger()在Main类中创建此错误,都可以通过gradle run以下方式得到此错误

constructor Logger in class Logger cannot be accessed in class RedBlackTree4150
var loggerInst = new Logger()
constructor Stopwatch in class Stopwatch cannot be accessed in class RedBlackTree4150
var stopWatchInst = new Stopwatch()

如果这是一个重复的这个这个问题我不知道够不够去实现它。我看了这个问题,但没有一个可接受的答案,我试图(只是为了好玩)将我的构造函数调用中的内容删除了,但没有用。

编写我的第一个Gradle / Scala项目以进行算法分析。我想如果我是在Java中,我会问的是静态还是非静态,不知道那是我要处理的问题类型。Scala不是作业的一部分,所以我没有使用作业标签。

这是我的调用方式,程序的第一部分,完整的.scala文件和build.gradle位于Github上

import com.google.common.base.Stopwatch
import com.typesafe.scalalogging.slf4j.Logger
import scala.collection.immutable.TreeMap
import java.util.concurrent.TimeUnit

object Main extends App {
  // var rbtree = new RedBlackTree4150(logger, stopWatch)
  var rbtree = new RedBlackTree4150()
}
// class RedBlackTree4150 (var loggerInst: Logger, var stopWatchInst: Stopwatch) {
class RedBlackTree4150() {
  var loggerInst = new Logger()
  var stopWatchInst = new Stopwatch()

如您所见,我已经尝试通过将所有对象都制成一个对象,并在Main中实例化Logger和Stopwatch并将它们传递给类(我知道这是个坏主意)来简化此操作,但这些都不起作用。我在这里缺少什么简单的Scala东西?谢谢。


否则,我相信我在项目中拥有所有依赖项,并且在命令行上遇到相同的错误。

我确实还有一个错误,我在这里作为一个单独的问题发布,以防万一它是相关的,错误是:

/home/jim/workspace/Scala/RedBlackTree4150/src/main/scala/Main.scala:36: value map is not a member of Double
  timingsMap = for (i <- powersList; j <- runTest(i)) yield i -> j
gzm0

两者的构造StopwatchLogger是私有的。您需要使用工厂方法来实例化它们。

对于Stopwatch,您可以使用createUnstarted()方法:

val stopwatch = Stopwatch.createUnstarted()

如果是Logger,则必须使用apply方法。但是,它需要基础SLF4J记录器。您可以通过SLF4J创建一个LoggerFactory

import org.slf4j.LoggerFactory
val logger = Logger(LoggerFactory.getLogger(getClass))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法访问 scala 类中的 sparkcontext

来自分类Dev

无法从类构造函数中访问全局变量

来自分类Dev

C ++中的秒表类

来自分类Dev

秒表-Java中的系统类

来自分类Dev

Java-无法解析秒表类

来自分类Dev

php:访问构造函数中的类变量

来自分类Dev

访问类中的构造函数属性

来自分类Dev

“无法访问未初始化的变量。” 在类构造函数中

来自分类Dev

无法在派生类的构造函数的初始化中访问受保护的函数

来自分类Dev

如何在MVC 4中从控制器访问私有构造函数到模型类

来自分类Dev

Scala无法访问android类

来自分类Dev

Intellij Idea Kotlin插件无法看到Scala案例类访问器

来自分类Dev

构造函数中的JavaScript访问器属性

来自分类Dev

Gradle无法使用JavaFX插件从src / test访问src / main模块中定义的类

来自分类Dev

Gradle无法使用JavaFX插件从src / test访问src / main模块中定义的类

来自分类Dev

从其他类访问main中的对象

来自分类Dev

访问变量从类构造函数到python中的类函数

来自分类Dev

Scala:Main中的用例类

来自分类Dev

C ++中矩阵类的构造器

来自分类Dev

无法访问Friend类的私有构造函数

来自分类Dev

Ruby的类构造函数和虚拟访问器混淆了

来自分类Dev

Scala案例类,无法覆盖构造函数参数

来自分类Dev

使用混合项目时,为什么在Java类中无法访问Scala案例类中的Lombok?

来自分类Dev

Scala动态访问类中的字段

来自分类Dev

无法实例化main()中的嵌套类

来自分类Dev

无法在Main继承的类中调用方法

来自分类Dev

Scala中主要构造函数参数的可访问性

来自分类Dev

C ++无法访问由向量的迭代器返回的类中的公共属性

来自分类Dev

使控制器中的DbContext类无法访问的最佳方法是什么?

Related 相关文章

热门标签

归档