【问题标题】:Compile from terminal a Java file that extend a parent from another directory从终端编译一个从另一个目录扩展父级的 Java 文件
【发布时间】:2015-11-01 19:09:28
【问题描述】:

我尝试从终端编译一个扩展父类的 java 类,我注意到当子类和父类都在同一个目录中时,一切正常。但是当父母和孩子进入两个不同的目录时该怎么办? 父类的编译文件进入目录:

project/bin/com/app/Parent.class

并且java子目录进入目录(注意java文件不在src文件夹中):

project/Child.java

如何从终端编译“Child.java”到以下目录?

project/compiledClasses

谢谢。

【问题讨论】:

    标签: java compilation terminal extends


    【解决方案1】:

    您应该尝试使用选项 -cp 或 -d。您需要指定父类路径和“Child.java”的路径。

    【讨论】:

      【解决方案2】:

      您是否尝试过将 Parent 扩展/实现到 Child 中?您可以通过创建接口轻松地做到这一点。

      资源: http://www.javatpoint.com

      您现在的选择是 1) 遵循第二个图表。使 实现一个接口。你可以通过将你的子类变成一个接口来做到这一点。更简单的方法是 2) 将子类扩展到父类。

      这样您可以使用子类中的所有方法、变量等,除非您必须将所有硬代码移到父类中,只需实现方法和

      对于第一种方法,你可以做这样的事情来把它变成一个接口:

      public interface thisUsedToBeAClass{
      iMustUseThisMethodInParentClass();
      iMustUseThisVariableInParentClass();
      }
      

      否则,如果您不想将所有代码从接口移动到另一个类中,只需通过扩展这两个类来使用第一种方法。

      祝你好运,

      {Rich}
      

      【讨论】:

      • 我的父类现在是一个抽象类。根据你的图我应该把父类变成一个接口,对吧?但是你说要把子类变成接口,我有点糊涂。以及所有这些将如何帮助从终端进行编译?
      • 是的,但不应该相反?父接口和所有子接口都应该实现父接口。扩展这两个类是什么意思?因为我已经有了扩展父抽象类的孩子。在那种情况下,我已经这样做了。
      • 哦,是的,你是对的......我的错。是的,子实现父。但是,一般来说,正如我所说,接口可能很难做到。所以,我推荐只扩展这两个类的方法。这样您就不必移动代码。现在,在终端中,只需运行父类。
      • 就像我之前说的:扩展这两个类是什么意思?因为我已经做了扩展父抽象类的子类。
      • 公共类子扩展父{ CODE }
      猜你喜欢
      • 2010-10-27
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多