有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中的类依赖类

对于我们的作业,我们需要为神经网络编写代码。我计划这样做的方式是编写一个Node类,它是网络中的一个节点;一个Layer类是节点层,一个NeuralNet类是层网络

我很难理解Java设计用于导入的方式。在我看来,在我的Layer类中包含我的Node类,在我的NeuralNet类中包含我的Layer类应该是一件简单的事情,但是Java不喜欢从默认包导入

我所读到的内容表明,您导入的任何内容都需要在一个包中,并且包有自己的子目录。由于我计划构建类的方式,这给我留下了一个在我看来很难处理且不必要地复杂的目录结构

neuralpkg.layerpkg.nodepkg.Node

有人能向我解释一下,这是实现我想要的结构的唯一方法,还是我错过了一种更简单的方法

不管它值多少钱,我用C/C++写这篇文章不会有问题,但尝试以类似的风格导入只会让我心痛


共 (3) 个答案

  1. # 1 楼答案

    在C++中用java类似的命名空间来考虑包。听起来,似乎您希望所有内容都位于同一名称空间中。默认包可以被认为是未命名的名称空间(我想)

    例如,您应该做的只是创建一个简单的包com.class.hw01。把你所有的课都放在那里。这样,你甚至不必导入任何东西,你可以像C++一样声明或使用你的类,如果它们在同一个命名空间中。p>

  2. # 2 楼答案

    更像这样:

    创建一个名为src的目录。这是所有java文件的根目录。在它下面,创建一系列名为

    com->;本->;神经的或类似的。将所有java源文件放在neural文件夹中

    另外,您使用的是什么IDE?为自己的Netbeans、Eclipse或IntelliJ的免费版本打分。Java需要一个好的IDE。当您创建一个新类时,IDE将为您执行包语句,并在导入方面提供极大的帮助

  3. # 3 楼答案

    您不需要像neuralpkg.layerpkg.nodepkg那样对包进行分层,其中“neural”、“layer”和“node”是相应类的子包

    您只需创建一个名为“ben”的包并将所有类放在其中。因此,在源目录中,您的布局如下:

     /ben
      Layer.java
      NeuralNetwork.java
      Node.java
    

    然后,每个类定义都应该以package ben;行开始

    同一个包中的类不需要相互导入