Java hace referencia a una clase en el mismo directorio

He creado un Pair clase en Java (similar a la de c++ par) y estoy teniendo problemas para hacer referencia desde otro archivo java. Estoy trabajando en el interior de un archivo Java, vamos a llamar a fileA en el mismo directorio que Pair.class.
Además, he escrito package current-directory en la parte superior de ambos archivos.

Sin embargo, cuando trato de javac fileA todos mis errores son cannot find symbol y la pequeña flecha que apunta a mi costumbre Pair tipo.

¿Cómo puedo obtener el compilador de java para ver Pair.class dentro de fileA?

Gracias por toda la ayuda

  • Se adjunta la estructura del paquete aquí
  • Aprender cómo los paquetes de java y de importación trabajo. Que tiene la solución para su problema.
  • Si se compila el utilizado debe ser hecho por el comando «javac fileA.java’ es decir, con .extensión de java. Mientras que para ejecutarlo uso de java utilizado sin la extensión.

3 Kommentare

  1. 4

    Java es impulsado por algunas convenciones básicas, incluyendo la estructura de directorios de la siguiente manera la estructura del paquete, y archivos de java son el nombre de las clases que definen.

    Usted debe tener definido utilizado como una clase dentro de fileA.java así:

    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);
        }
    }

    y en un Par de clases:

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

    Si usted está llamando javac desde dentro del mismo directorio de ambos archivos de java, no debe declarar un paquete en la parte superior, ya que están dentro de la ‘default’ del paquete. Como tal, la de arriba de trabajo.

    Utilizando el paquete predeterminado proporciona cierta comodidad, pero también algunas restricciones que no voy a detallar, pero ahora que usted sabe sobre el paquete por defecto, usted puede mirar hacia arriba. Recomiendo el uso de nombres de paquetes, que es tan simple como agregar, como lo hizo, algo así como:

    package kugathasan;

    al principio de cada archivo. Si usted hace esto, sin embargo, usted debe poner los dos archivos en un directorio llamado kugathasan y llame a javac desde el directorio que contiene kugathasan.

  2. 1

    Es una estructura de paquete problema. Usted puede entender por ver esta captura de pantalla de cómo se ven en mi IDE y en la carpeta.

    Java hace referencia a una clase en el mismo directorio

    Y en la carpeta, se parecen a esto.

    Java hace referencia a una clase en el mismo directorio

    Y en el código, tienen este paquete.

    package com.jini;

    La esperanza de que usted consigue la idea de cómo funciona esto.

  3. 0

    tecnócrata comentario es correcto.

    En Java, que normalmente no trabajan directamente con el .los archivos de clase en el desarrollo de su aplicación. Trabajar con el .archivos de java. Los paquetes que se crean en el IDE debe contener tu .archivos de java.

    Así que en lugar de poner Pair.class dentro del mismo directorio del paquete como fileA.java, poner Pair.java en ella. A continuación, debe tener un directorio/paquete que contiene fileA.java y Pair.java

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea