相关疑难解决方法(0)

在Java中使用默认包导入类的语法是什么?

是否可以在Java中导入默认包中的类?如果是这样,语法是什么?例如,如果你有

package foo.bar;

public class SomeClass {
    // ...
Run Code Online (Sandbox Code Playgroud)

在一个文件中,你可以写

package baz.fonz;

import foo.bar.SomeClass;

public class AnotherClass {
    SomeClass sc = new SomeClass();
    // ...
Run Code Online (Sandbox Code Playgroud)

在另一个文件中.但是,如果SomeClass.java不包含包声明呢?你将如何参考SomeClassAnotherClass

java syntax import

51
推荐指数
4
解决办法
9万
查看次数

为什么我的对象不是包<root>的成员,如果它在一个单独的源文件中?

我在访问根包中定义的对象时遇到问题.如果我将所有代码都放在一个文件中,它可以正常工作,但是当我将它分成两个文件时,我无法通过编译器.

这很好用:

所有在一个文件中称为packages.scala:

object Foo
  val name = "Brian"
}

package somepackage {
  object Test extends App {
    println(Foo.name)
  }
}
Run Code Online (Sandbox Code Playgroud)

见证人:

$ scalac packages.scala
$ scala -cp . somepackage.Test
Brian
Run Code Online (Sandbox Code Playgroud)

但是如果我将代码分成两个文件:

packages.scala

object Foo {
  val name = "Brian"
}
Run Code Online (Sandbox Code Playgroud)

packages2.scala

package somepackage {
  object Test extends App {
    println(Foo.name)
  }
}
Run Code Online (Sandbox Code Playgroud)

一切都失败了:

$ scalac packages.scala packages2.scala
packages2.scala:3: error: not found: value Foo
Run Code Online (Sandbox Code Playgroud)

所以我尝试引用Foo绝对:

...
    println(_root_.Foo.name)
...
Run Code Online (Sandbox Code Playgroud)

但这也不起作用:

$ scalac packages.scala packages2.scala
packages2.scala:3: error: object …
Run Code Online (Sandbox Code Playgroud)

scala packages

19
推荐指数
2
解决办法
2万
查看次数

标签 统计

import ×1

java ×1

packages ×1

scala ×1

syntax ×1