java - 包内包 Java

标签 java package

我得到了指示:编写一个名为 Playable 的接口(interface),并使用方法 void play();。让这个接口(interface)放在一个名为music的包中。编写一个名为Veena的类,它实现Playable接口(interface)。让这个类放在一个包music.string中。

我已经创建了接口(interface)并将其打包如下:

package music;

interface Playable {
    public void play();
}

然后我创建了下面的下一个类:

package music.string;
import music.Playable;

public class Veena implements Playable {
    public void play() { System.out.println("Veena plays"); }
}

我已经尝试过这个,到目前为止,我要么没有将它所在的包命名为“music.string”,要么收到错误,因为 Playable 不是公共(public)的,不能在界面之外使用。我如何在我的 Veena 类中导入和实现 Playable,同时将 Veena 打包到“music.string”中?

最佳答案

使接口(interface)公开:

public interface Playable {
     void play();
}

包私有(private)类/接口(interface)只能被属于完全相同的包的类/接口(interface)引用。

关于java - 包内包 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48447148/

相关文章:

import - 包在 golang 中是如何工作的

Java Bean Validation 2.0 Hibernate Validator - 具有外部 XML 配置的可执行 JAR

java - 为什么java中不能连续输入两个字符串?

Java继承和变量作用域

java - 如何包含 R 包的 java 依赖项

java - 导入和包

java - 将 float 从 .NET 发送到 Java 并返回的最佳方法

java - 无法解析自定义Java日期: Can I set it to a default year?

r - 包有一个 VignetteBuilder 字段,但没有预建的小插图索引

java - 包裹问题