包内部包Java

时间:2018-01-25 16:02:30

标签: java package

我已经获得了指示:编写一个名为Playable的界面,其方法为void play();.让这个接口放在一个名为music的包中。写一个名为Veena的类,它实现了Playable接口。让这个类放在一个包music.string。

我创建了界面并将其打包在下面:

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不公开,不能在界面外使用。如何在我的班级Veena中导入和实现Playable,同时还将Veena包装在" music.string"?

2 个答案:

答案 0 :(得分:1)

制作界面public

public interface Playable {
     void play();
}

package-private类/接口只能由属于完全相同的包的类/接口引用。

答案 1 :(得分:0)

如果没有公开定义,则无法访问不同包的界面。 如果你想保持你的界面默认你必须将你的类移动到相同的包,但是你需要将你的界面保持在单独的包中(这也是一个很好的设计)使你的界面公开。

package music;

public interface Playable {
   void play();
}