为什么我无法在另一个类中访问我的静态变量

时间:2018-04-07 16:40:52

标签: java static return getter

所有我都是新手,只是掌握了实例和静态变量。我想要做的是将内部声明为静态变量,在该类中使用它,由用户为其赋值输入,并使用该输入进行计算,并将此输入发送到另一个类(没有main方法)内,并在数组中使用它。可能吗 ?如果是这样的话?从我做它的方式它说,变量无法识别,所以显然我错了。我知道我可以使用setter和getter做到这一点,但我不知道该怎么做。谢谢你这么多提前。我有什么

  public class Character {

       public static int amount =0;

       public void calculate(){

       amount=sc.nextInt();

       if(amount<0){
                 System.out.print("You are broke");
                       }
        else{
              System.out.print("You are ok You have"+amount);
            }
  }

在另一个班级里面我想用这个数额

public class calculation2{

    int [] arr=new int[amount];

    public void smile(){

      bla bla bla bla

     }
}

我怎样才能解决这个问题,我在做什么以及任何修复建议?谢谢你,妈妈

2 个答案:

答案 0 :(得分:1)

由于它是静态的,你可以通过这样做来参考calculate2中的静态量变量:

int [] arr=new int[Character.amount];

public void smile(){

  System.out.println(Character.amount);

 }

虽然你不应该这样编码。当某些东西具有实际值或返回值并且您想在另一个类中使用静态时使用static。

答案 1 :(得分:0)

这不是正确的编码方式: 但是在您的代码中,您将声明的静态变量声明为public,因此您可以在smile方法中将其作为:

<style>