【问题标题】:How do I access an int array in another class in java? [duplicate]如何在java中访问另一个类中的int数组? [复制]
【发布时间】:2015-12-17 06:58:55
【问题描述】:

这是一个专注于问题的简单代码,因此我可以将其应用于实际程序。

第一个类有数组。第二个我希望它将数组元素打印到扫描仪。这段代码给了我一个null pointer exception。我尝试使用 int 而不是 int 数组,但仍然遇到相同的异常。我该如何解决这个问题?

public class passthrough{

  public void main(String[] args){
   PassTry k = new PassTry();

   System.out.println(k.pass);
   System.out.println(k.her);

  }

}//class

public class PassTry{
  public int[] pass; 
  public int her;

  public PassTry(){
     her = 2;
     pass = new int[]{4, 5, 6, 2};

  }//constructor

  public int res(){
    return  this.her;

  }//res method

}//class

【问题讨论】:

  • 请显示堆栈跟踪。
  • 你在 public void main(String[] args) 中缺少 static 关键字......所以试试 public static void main(String[] args)
  • 这是我尝试运行时的错误信息
  • 除了必须将 main 方法更改为 static 之外,此代码运行平稳并且不会产生 NullPointerException。你能分享一个真正有这个问题的更“真实”的例子吗?
  • 谢谢。静态真的很有帮助。

标签: java arrays class


【解决方案1】:

main方法中缺少static关键字,所以需要这样写,

public static void main(String args[]) {...

每个词都有不同的含义和不同的目的,

Static : 标识与此相关的类的关键字。这意味着这个类与实例无关,而是与类相关。无需创建Class实例即可访问。

Java 编译器总是寻找 main 方法来编译源代码,但这里是你没有提供 static 所以编译器无法到达 main 方法并导致编译时错误 java.lang.NullPointerException

【讨论】:

    猜你喜欢
    • 2019-11-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    相关资源
    最近更新 更多