在(默认包)中,我有一个名为"Bird"的类,它有一个名为"dialog"的方法.
我可以在同一个包中创建一个名为Class1的类,如下所示:
public class Class1
{
public static void main(String[] args)
{
Bird b = new Bird("Alexander",true,5);
b.dialog("tweet!");
}
}
Run Code Online (Sandbox Code Playgroud)
这实际上有效,我实际上可以tweet!在控制台中看到.
我的问题是:如果代码Class1位于包中,我需要在代码中添加什么Fundamental (而类Bird位于"默认包"中)?我收到一个错误:在这种情况下"鸟类型未被识别".我应该以某种方式表明包裹.
附带问题:1.什么是类路径?如何更改?我已经看到这个术语在几个与包相关的讨论的背景下被模糊地使用,但没有一个像我刚才给出的明确的例子.2.我见过多次名为xxx.bla.zzz的软件包 - 这是标准吗?我通常只使用一个通用名称(不是三个分隔的.)我理解一个包是Java替代其他语言的命名空间.如果有几个解决方案值得一提,我会很感激.谢谢!
fms*_*msf 11
您永远不应该使用默认包,这不是一个好习惯,您不能从默认包中导入类.始终声明您的包结构.
在Bird第一行的类中添加:
package animals;
Run Code Online (Sandbox Code Playgroud)
在Class1.java的第一行中写下您的包名
package foo;
import animals.Bird;
Run Code Online (Sandbox Code Playgroud)
注意,为了使这个工作,类Bird和类Class1应分别在文件夹"animals"和文件夹"foo"中