有 Java 编程相关的问题?

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

对象编写一个Java类以在另一个Java类中使用

我是爪哇人

以下是我想做的:

//File 1
public class Class1
{
   //....does some stuff
}

//File 2
public class Class2
{
   //..also does some stuff including:
   Class1 c = new Class1(); 
}

文件1和文件2位于同一目录中

为了编译,我使用以下命令:

javac Class2.java

这是给我的表格错误:

Error: Cannot find symbol Class1

我该如何解决这个问题


共 (5) 个答案

  1. # 1 楼答案

    在基类上

    package ABC;
    
    public class PQR {
    
    // Do stuff
    
    }
    
    
    import ABC.*;
    
    class XYZ {
     // Use the PQR class method
    }
    
  2. # 2 楼答案

    假设它们在同一个文件夹中,则不必导入,如果它们不在,则需要指定类似import java.util.Scanner;的包。在Java中,后缀不能带有扩展名

    你用什么来编写代码

  3. # 3 楼答案

    要在一个文件中使用多个类,请查看以下tutorial

    如果你在两个不同的文件中编写类,并且它们在同一个包中,那么使用它不需要导入它们。但是,如果要手动编译它们(使用命令提示符),请确保已编译了所有。java文件。否则你会出错

    如果您在不同的包中编写它们,请确保这些类是公共的,以便使用它们。是的,在这种情况下,你必须导入包含你想要使用的类的包。如果使用命令promt,再次确保编译了所有类

    我的建议是使用一个好的IDE(有很多:)来编写代码,因为它们比我们的帮助要大得多:)

  4. # 4 楼答案

    如果两个文件Class1.javaClass2.java在同一个目录中(并且假设您已经声明了要用作的类),那么您根本不需要进行任何导入就可以从另一个目录中使用其中一个;Java会自动找到另一个类

    因此,在Class2.java中,您可以简单地执行以下操作:

    public class Class2 {
        void someMethod() {
            Class1 c = new Class1();
        }
    }
    
  5. # 5 楼答案

    我不确定我是否理解这个问题——您是在尝试使用一个内部类(一个类定义在另一个类定义中),还是这些类是独立的?需要导入来定义您有权访问的包/类,默认情况下,同一包中的包/类是可用的。因此,如果这些都在同一个包中,你就不需要任何进口。此外,这两个类需要彼此可见。当你说它不起作用时,你会犯什么错误

    使用内部类的一种方法是外部类。new Class1()(其中outer是封装Class1的类的对象)。如果这些不是内部类,则它们需要位于单独的类中。java文件

    顺便说一句,总是建议显式地提供访问修饰符(public、private、protected)

    完整的代码清单和错误信息将帮助我给出更好的答案