0 0

javac编译的时候报类重复错误5

在做java练习的时候无意之中碰到了javac编译报出"类重复"的错误,虽然
找到了出错的地方,但是却不知道出错的原因。下面是相关代码:
package test;

import test.*;
public class A {
private static String str = "Hello";

public static String getStr() {
return str;
}

public static void main(String[] args) {
B.say();
}
}

package tes;//这里的包名和B.java所在的文件夹src/test/B.java不匹配

import test.*;

public class B {
public static void say() {
String str = A.getStr();
System.out.println(str);
}
}

A.java和B.java都放在src/test文件夹下,编译后的类文件准备放在classes文件夹下,文件层次结构如下:
桌面/java network programming/src/test/A.java
桌面/java network programming/src/test/B.java
桌面/java network programming/classes在命令行如下编译:
C:\Users\Administrator\Desktop\java network programming
>javac -d classes -cp claasses -sourcepath src src/test/B.java
产生了下面的错误:
[img]

[/img]
2013年12月21日 17:33
  • 大小: 4.9 KB

2个答案 按时间排序 按投票排序

0 0

类重复是因为在编译时把test.B.java和tes.B.java看成2个文件了,而编译后的文件都放在test/中且名字都是B.class

2013年12月24日 16:00
0 0

在编译A的时候尚未编译B,所以在A的main方法中找不到B.say()

2013年12月22日 11:48

相关推荐

    Javac测试题123456

    1. 无错误,抽象类可以有抽象方法。 2. 无错误,但在方法体中声明局部变量是允许的。 3. 错误,抽象方法不能声明为私有的。 4. 无错误,`final`关键字在这里用于防止在方法内部修改传入的参数。 5. 错误,`addOne()`...

    让EditPlus支持javac,java命令[归纳].pdf

    选择“工具”->“javac”或使用快捷键“Ctrl+1”,EditPlus会调用`javac.exe`进行编译,如果编译成功,控制台会显示成功信息;如果有错误,错误信息也会在输出窗口中显示。接着,选择“工具”->“java”或使用快捷键...

    Ubuntu14.04编译android4.4源码一次性成功

    【Ubuntu14.04编译android4.4源码一次性成功】 在 Ubuntu 14.04 系统上...在整个过程中,保持良好的记录习惯,对于遇到的问题和解决方法,及时记录下来,这不仅可以帮助自己避免重复错误,也能为其他开发者提供参考。

    安卓反编译dex文件格式实例分析

    与传统的 Java 字节码(.class 文件)不同,dex 文件通过将多个类文件编译合并为单个文件,减少了在移动设备上的重复代码,从而节省存储空间,提高程序的运行效率。 dex 文件格式分析的第一步是准备一个可分析的...

    mycarm javac++ce

    描述中的重复“javac++ce”可能是由于输入错误或者是一种强调,暗示这个项目主要集中在Java与C++的集成上,尤其是关于"ce"的部分,虽然在这个上下文中没有明确的含义,但可能代表特定的组件、环境或编译器版本。...

    java程序的编译及运行实验说明

    例如,c:>java example 如果源程序无逻辑错误,将得到正确的运行结果,否则检查并清除源程序中的逻辑错误,重复如上的步骤直到得到正确的运行结果。 三、Applet 程序编译及运行 如果程序类型为 Applet,在上述步骤...

    熟悉Java程序的编辑、编译和运行环境.doc

    - **编译**:使用命令行中的`javac`命令编译源文件。 - **运行**:使用命令行中的`java`命令运行编译后的`.class`文件。 ##### 3. 编写与运行 Java Applet - **编写**:创建Java Applet类并编写代码。 - **编译**:...

    使用ant脚本编译并运行junit单元测试,并生成测试报告

    在IT行业中,构建自动化是开发过程中的重要环节,它能够提高效率、减少错误,并确保代码的质量。Apache Ant是一个广泛使用的Java构建工具,它基于XML来定义任务,使得开发者可以定制化构建过程。本文将深入探讨如何...

    Java for Absolute Beginners.pdf

    - **逻辑错误**:逻辑错误是指程序虽然可以编译和运行,但结果不符合预期。这类错误通常需要通过调试来解决。 - **调试技巧**:使用断点、单步执行、查看变量值等方法可以帮助定位和修复逻辑错误。 #### 结语 ...

    processorTools

    总的来说,processorTools是一个强大的工具,它通过编译时注解帮助开发者提高效率,减少手动编写重复代码的工作,并且降低了因手动操作导致错误的风险。对于大型项目或团队来说,这样的自动化工具能够显著提升开发...

    textpad java彩色突出显示的编辑器编辑和编译程序

    只需简单的菜单操作,就能执行javac命令,将.java文件编译为.class文件。 2. **运行Java程序**:在TextPad中,用户可以直接运行编译后的Java程序,无需切换到命令行界面。只需选择“Execute”菜单,然后选择“Run ...

    ant配置文件

    例如,元素定义了整个构建的根,元素表示一个具体的构建任务,用于指定类路径,<javac>用于编译Java源代码,用于复制文件,用于创建JAR文件等。每个元素都有其特定的属性,如source、target用于设置Javac的编译级别...

    Java应用程序-习题-第8章.doc

    6. Java 编译器允许在使用泛型是不传入实际参数,在使用 Java 编译器 javac 编译时会产生警告。可以通过使用编译器的 –Xlint:unchekched 选项查看详细信息。 7. 泛型的类型参数的实参只能是类类型,不能是基本类型...

    第一次作业1

    - `Hellojava Hello.java`:命令有误,应改为`javac Hello.java`来编译源文件。 2. **运行命令**: - `java -cp D:\code\class HelloWorld` - `-cp`: 设置类路径,用于指定Java程序运行时的类文件路径。本例中,...

    java初学者的起步用书

    - 编译:使用JDK中的javac命令,将.java源代码文件编译成.class字节码文件。例如,`javac HelloWorld.java`将编译名为HelloWorld.java的源文件。 - 运行:使用java命令运行已编译的类。例如,`java HelloWorld`会...

    文章分类:Java编程,java面试题2

    - **编译:** 使用 `javac` 编译器将 `.java` 文件编译成 `.class` 文件。 - **`.class` 文件:** 包含编译后的字节码,可以被 JVM 执行。 #### 十、Java 标准库 - **输入输出流:** Java 提供了丰富的 I/O 处理类...

    java练习题答案.doc

    然后通过javac编译器将源代码编译成字节码(.class文件),这个过程如果出现错误,则会显示编译错误。当程序成功编译后,通过java解释器执行字节码文件。Java的主要贡献者是James Gosling。 【Java程序的执行步骤】...

    java期末复习-九章练习题全(含答案).doc

    3. 在 Java 语言中,源代码被编译成字节码文件,这个过程如果出现错误被称为编译错误。而运行时错误是指程序在执行过程中遇到的问题,例如类型不匹配、数组越界等。 4. `javac` 是 Java 的编译器,用于将源代码文件...

Global site tag (gtag.js) - Google Analytics