gpt4 book ai didi

java - 从包内部访问父文件夹包

转载 作者:行者123 更新时间:2023-11-30 09:31:49 27 4
gpt4 key购买 nike

如果我在包中有一个类说 mypackage.myclass 并且想访问与包的根目录(不在包内)相同的文件夹中的包类说 anothepackage .anotherclass 我该怎么做?

代码示例:

// directories are preceded by a DIR, files are preceded by a CLASS
// any level deeper is preceded by a [Tab]
DIR mypackage
CLASS myclass
DIR myinnerpackage
CLASS myinnerclass
DIR anotherpackage
CLASS anotheclass
CLASS yetanotherclass
DIR org
DIR apache
DIR commons
DIR exec
CLASS DefaultExecutor

在文件 myclass 中:

package mypackage;

public class myclass{
// simplest example code I can come up with
org.apache.commons.exec.DefaultExecutor exec = new org.apache.commons.exec.DefaultExecutor();
}

为什么这段代码对我不起作用?

通常 myclass 如何访问 anotherclassyetanotherclass 以及 myinnerclass 如何访问它们?尽量避免导入,因为我只想使用每个类的某些成员(一些变量具有相同的名称并且会弄乱)!提前致谢!

最佳答案

Java 对吧?

在我的类(class)里

import anotherPackage.anotherClass;

然后在你的 myClass 中你可以使用

  anotherClass ac=new anotherClass();

然后使用对象“ac”您可以访问任何 anotherClass 属性。

您可能想阅读有关包和导入的内容

编辑不使用进口我你可以使用完全限定名称的概念尝试像

anotherPackage.anotherClass ac=new anotherPackage.anotherClass()

然后使用ac toacees anotherClass属性

按照您提到的方式,不同的类有一些相同的变量,导入可能会弄乱东西。 Java 围绕对象工作,相同的名称真的不会搞砸。即使某些变量是静态的,您也将使用 classnames.staticVar 来访问。所以不会搞砸。 :-)

更新:下面的讨论被转移到聊天中,因为它变得更全面了聊天中的一些有用片段

Askee 面临类路径问题

CLASSPATH ,顾名思义就是class的路径。当我们编译一个java文件时,编译器会在当前目录和类路径中寻找类需要的资源。一切都不能在同一个目录中(实际上可以,:-)),所以我们使用

set CLASSPATH

设置类路径以及在哪里寻找类

在这个问题中,ckass myClass 没有像

org.apache.common.exec.DefaultExecutor was not in classpath

建议在类路径上设置父目录以使其工作

javac -classpath %cd%\.. myclass.java

关于java - 从包内部访问父文件夹包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12762216/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com