简体   繁体   English

Java(eclipse):如何从同一个项目中的另一个类调用int或string?

[英]Java (eclipse): How to call a int or string from another class in same project?

How can I use an int or string from another class in same project, for example, here we go with a class called Estadisticas : 如何在同一个项目中使用来自另一个类的int或字符串,例如,在这里我们使用一个名为Estadisticas的类:

public class Estadisticas {

    public void stats() {

        final String c1 = "Tu personaje";
        final int Nivel = 1;
        final int Salud = 50;
        final int Ataque = 2;
        final int Defensa = 1;

        final String c2 = "Primer monstruo - Rata rabiosa";
        final int SaludM1 = 2;
        final int AtaqueM1 = 1; 

    }
}

And I want to know how to call for example the String c1 to println like this: 我想知道如何调用例如String c1 to println,如下所示:

public class Start extends Estadisticas {
    public static void main() {
        System.out.println(String c1);
    }

}

After reading some example codes and people with similar problem, I tried with extends Estadisticas with no luck, and I'm putting this code as I don't know how to call that string from another class in same project. 在阅读了一些示例代码和具有类似问题的人之后,我尝试使用extends Estadisticas而没有运气,我正在使用此代码,因为我不知道如何从同一项目中的另一个类调用该字符串。

Thanks in advance! 提前致谢! Cristobal. 瓦尔。

If you're trying to call a variable from another class, you have several options: 如果您尝试从另一个类调用变量,则有几个选项:

1) Declare the variable in the other class as static: 1)将另一个类中的变量声明为static:

public class Estadisticas {

  public static String c1 = "Tu personaje";
  ...
}

So in the other class, you can just call the string like so: 所以在另一个类中,你可以像这样调用字符串:

public class Start extends Estadisticas {
  public static void main() {
    System.out.println(Estadisticas.c1);
  }
}

2) Have the stats method return the string: 2)让stats方法返回字符串:

public String stats() {

  final String c1 = "Tu personaje";
  final int Nivel = 1;
  final int Salud = 50;
  final int Ataque = 2;
  final int Defensa = 1;

  final String c2 = "Primer monstruo - Rata rabiosa";
  final int SaludM1 = 2;
  final int AtaqueM1 = 1; 

  return c1;
}

So you can do this: 所以你可以这样做:

public class Start extends Estadisticas {
  public static void main() {
    Estadisticas es = new Estadisticas();
    System.out.println(es.stats());
  }
}

3) Use an accessor method and instance variables: 3)使用访问器方法和实例变量:

public class Estadisticas {
  private String c1, c2;
  private int nivel, salud, ataque, defensa, saludM1, ataqueM1;

  public void stats() {
    c1 = "Tu personaje";
    nivel = 1;
    salud = 50;
    ataque = 2;
    defensa = 1;

    c2 = "Primer monstruo - Rata rabiosa";
    saludM1 = 2;
    ataqueM1 = 1; 
  }

  //accessor method
  public String getc1() {
    return c1;
  }
}

So in the other class you can use: 所以在其他课程中你可以使用:

public class Start extends Estadisticas {
  public static void main() {
    Estadisticas es = new Estadisticas();
    System.out.println(es.getc1());
  }
}

Like this : 像这样 :

public class Estadisticas {
    final String c1 = "Tu personaje";
    final int Nivel = 1;
    final int Salud = 50;
    final int Ataque = 2;
    final int Defensa = 1;

    final String c2 = "Primer monstruo - Rata rabiosa";
    final int SaludM1 = 2;
    final int AtaqueM1 = 1; 

    public void stats() {

    }
}

public class Start extends Estadisticas {
    public static void main() {
     Estadisticas  es = new Estadisticas (); // create instance here
        System.out.println(es.c1);  // print using the instance


    }

}

this is public example. 这是公开的例子。 In java you need to use them as private for security. 在java中,您需要将它们用作私有的安全性。

public class Estadisticas {
                public String c1 = "Tu personaje";
                public int Nivel = 1;
    }

This is calling from another class. 这是从另一个班级打来的。

    public class Start {
        public static void main() {

            Estadisticas.Nivel;
            Estadisticas.c1 ;
        }
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM