Java引用同一目录中的类

2024-03-19

我创建了一个PairJava 中的类(类似于 C++ 对),并且无法从不同的 java 文件引用它。我正在一个 Java 文件中工作,我们称之为fileA在同一目录中Pair.class.另外,我还写过package current-directory位于两个文件的顶部。

然而,当我尝试javac fileA我所有的错误都是cannot find symbol小箭头指向我的习惯Pair type.

如何让java编译器看到Pair.class代替fileA?

感谢所有的帮助


Java 由一些基本约定驱动,包括目录结构遵循包结构,java 文件以它们定义的类命名。

您应该将 fileA 定义为 fileA.java 内部的类,如下所示:

public class fileA {
    public static void main(String[] args) {
        Pair p = new Pair(0, 1);
        System.out.println("a is "+p.a+" and b is "+p.b);
    }
}

和相应的 Pair 类:

public class Pair {
    public final int a;
    public final int b;
    public Pair(int a, int b) {
        this.a = a;
        this.b = b;
    }
}

如果您从两个 java 文件所在的目录中调用 javac,则不应在顶部声明包,因为它们位于“默认包”内。因此,上述应该有效。

使用默认包提供了一些便利,但也有一些限制,我不会详细说明,但现在您已经了解了默认包,您可以查找它。我建议使用包名称,这就像添加一样简单,如您所做的那样:

package kugathasan;

在每个文件的开头。如果您这样做,则应该将这两个文件放入名为 kugathasan 的目录中,并从包含 kugathasan 的目录中调用 javac。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java引用同一目录中的类 的相关文章

随机推荐

  • 相同模块不同外壳。为什么?

    Windows 上的 minikube 和 docker machine 在确定 hyper v 模块是否可用时出现了一些问题 了解更多信息 https github com kubernetes minikube issues 2634
  • 将文件夹中的所有文件重命名为编号列表 1.jpg 2.jpg [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 询问代码的问题必须对所解决的问题表现出最低限度的了解 包括尝试的解决方案 为什么它们不起作用以及预期结果 也可以看看 Stack Over
  • 返回 404 的 Rest Web 服务

    这是我第一次使用 Eclipse 这让我非常愤怒 我安装了 Tomcat 6 0 下载了 Jersey 库 并按照以下教程进行操作 http www vogella com articles REST article html first
  • 创建图标按钮 - Android

    我想创建一个小图标按钮 如下所述在材料指南的这一章中 https www google com design spec components buttons html buttons other buttons 但我找不到任何关于如何做到这
  • 我可以调整 tkMessagebox 创建的消息框的大小吗?

    我想用固定宽度的 tkMessagebox 创建信息对话 我在 tkMessagebox showinfo 函数中没有看到任何可以处理此问题的选项 有什么办法吗 谢谢 option add 可能仅适用于 Linux 操作系统 但您可以控制字
  • Javascript:xmlhttprequest 随机卡在就绪状态 1

    我一直在开发一个 Windows 小工具 即 浏览器 是 Internet Explorer 用于查询指定子网地址以获取信息 现在 它有时会以相对较快的速度 大约每 5 秒 执行此操作 而且效果很好 然而 有时它会卡在就绪状态 1 并且永远
  • 使用 Popen.stdin 执行多个命令

    我想使用管道在从 python 脚本启动的独立应用程序中执行多个命令 我可以可靠地将命令传递到程序的标准输入的唯一方法是使用 Popen communicate 但它会在命令执行后关闭程序 如果我使用 Popen stdin write 则
  • 如何列出导入的模块及其版本?

    我需要列出所有导入的模块及其版本 我的一些代码仅适用于特定版本 我想保存包的版本 以便将来再次查找 列出包的名称有效 modules list set sys modules set globals print modules 但如果我现在
  • 注入自动映射器

    我一直致力于将 AutoMapper 注入控制器 我喜欢 Code Camp Server 的实现 它围绕 AutoMapper 的 IMappingEngine 创建一个包装器 依赖注入是使用 StructureMap 完成的 但我需要在
  • 有什么办法让 gmaps4rails 在街景中打开地图吗?

    我尝试过更改缩放级别 但它始终保持在地图模式 在wiki上也找不到任何信息 任何帮助或其他建议将不胜感激 最终只使用了 Google 的 Javascript API 事情是这样的 pos new google maps LatLng va
  • 如何将 Knockout js 模型绑定到向导风格的 UI

    我正在使用 Knockout js 我有一个包含对象数组的视图模型 我希望允许用户使用向导样式界面编辑其中一个对象 我遇到的问题是向导将根据所做的选择显示不同的步骤 例如 如果用户在步骤 1 中选择 是 则我将显示步骤 2a 如果用户在步骤
  • 在读取文件之前检查文件是否已打开?

    我正在尝试制作一个小程序 它以非常频繁的间隔 每秒几次 读取本地文件系统 用户计算机 上的文件 然后通过 javascript 将文件的内容提供给网页 小程序需要读取的文件由用户计算机上的程序高频更新 我担心的是 如果小程序在文件更新过程中
  • toDF 的值不是 org.apache.spark.rdd.RDD 的成员

    例外 val people sc textFile resources people txt map split map p gt Person p 0 p 1 trim toInt toDF value toDF is not a mem
  • 在 GNU C 内联汇编中编写 Linux int 80h 系统调用包装器 [重复]

    这个问题在这里已经有答案了 我正在尝试使用内联汇编 我读过这一页http www codeproject com KB cpp edujini inline asm aspx http www codeproject com KB cpp
  • Python 日期时间:昨天的所有项目

    在 Python 中 如果我想检查昨天的所有项目 我会这样做 from datetime import datetime timedelta if datetime datetime today timedelta days 2 lt it
  • C# 将文本转语音保存到 MP3 文件

    我想知道是否有办法将文本到语音数据保存为 mp3 或 Wav 文件格式以便稍后播放 SpeechSynthesizer reader new SpeechSynthesizer reader Rate int 2 reader Speak
  • Windows 键的键码?

    有没有keyCodeWindows 键或用 Javascript 或 jQuery 检测何时按下的方法 I ve dug through StackOverflow and have found how to detect command
  • 如何在 JavaScript 中一次分配多个变量?

    有没有办法在 JavaScript 中执行多重赋值 如下所示 var a b one two 这相当于 var a one var b two 在 ES6 中你可以这样做 var a b one two 上面的代码是 ES6 表示法 称为数
  • 是否可以使用 Spring XML 访问字符串索引的 getter?

    Spring上下文设置XML语言中是否有 字符串索引 getters的概念 假设我有Persongetter 具有以下原型 class Person Person getRelative String relativeName 我可以用类似
  • Java引用同一目录中的类

    我创建了一个PairJava 中的类 类似于 C 对 并且无法从不同的 java 文件引用它 我正在一个 Java 文件中工作 我们称之为fileA在同一目录中Pair class 另外 我还写过package current direct