静态引用非静态字段

时间:2015-03-01 04:19:40

标签: java static non-static

好的,所以我很确定我在这里遗漏了一些非常愚蠢的东西,但是对于编码工作,我需要创建一个名为“Android'并为其提供符合规范的实例变量和方法。

我一直收到错误:

文件:C:\ Users \ somerandomuser \ Desktop \ hmwk \ Android.java [line:35] 错误:无法对非静态字段标记进行静态引用

这是我的Android课程:

import java.util.*;

public class Android
{
  private int tag;
  private String name;

  public Android()
  {
    name = "Bob"+tag;
    tag = changeTag();

  }

  public String getName()
  {
    return name;
  }

  private static boolean isPrime(int n)
  {
    //random magic bullshit goes here....
    int i;
    for (i=2; i<n;i++) {
      if (n%i==0)
        return false;
    }
    return true;
  }

  private static int changeTag()
  {
    //advanced magic bullshit goes here....
    boolean exit = false;
    int query = tag;
    while (!exit)
    {
      exit=isPrime(query);
      if (!exit)
      {
       query++;
      }
      else
      {
        int x;
      }
    }
  }
    public int getTag()
    {
      return tag;
    }
}

提前致谢!

1 个答案:

答案 0 :(得分:1)

这是特定于实例的

private int tag;

这是一种静态方法。

private static int changeTag()
  {
    //advanced magic bullshit goes here....
    boolean exit = false;
    int query = tag;
    ...
 }

使标记静态,或将该方法更改为非静态。

在旁注中,编译器确实告诉您查看发生错误的第35行。此外,这是一个家庭作业(/ hmwk /),堆栈溢出不是家庭作业问题的地方。