java - 如何在我的 Java 程序中实现 "this"?

标签 java

我的学校作业要求我在以下程序中使用“this”。但是,我不太清楚可以把它放在哪里。我不断收到“无法从静态上下文引用非静态变量”错误。

import java.util.Scanner;
public class PrimeNumber
{
    public static void main(String args[]) 
    {
      System.out.println("Enter the upper limit for the prime numbers computation: ");
      int upperLimit = new Scanner(System.in).nextInt();
      int count = 0;
      for(int number = 2; number<=upperLimit; number++)
      {
          if(isPrime(number))
          {
              System.out.println(number);
              count++;
          }
      }
      System.out.println("Number of primes generated: " + count);
    }
    public static boolean isPrime(int number)
    {
        for(int i=2; i<number; i++)
        {
           if(number%i == 0)
           {
               return false; 
           }
        }
        return true; 
    }
}

最佳答案

Java 关键字 this 指的是调用实例方法的类的实例。静态方法对其类是通用的,因此您不能从其中引用任何实例(非静态)变量。您只能从实例方法(即未定义为 static 的方法)内访问诸如 this 之类的实例变量。

因此,您需要创建一个实例方法(您的类中没有该实例方法),才能使用 this

关于java - 如何在我的 Java 程序中实现 "this"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23510292/

相关文章:

java - 如何通过名称和通配符使用 TestNG 运行类?

java - 理解 Guava 的 TypeToken.isAssignableFrom 方法

java - 在使用 jaxb 注释使用 Jersey 将 json 解码为 java bean 时如何使用一些间接寻址

java - 在Java中以特定角度画一条线

java - 无法将链接列表的最后位置设置为 NULL

java - 如何在 .nt 文件上保存 sparql 查询的结果

java - 我在类(class)概述中做错了什么?

java - 代码如何工作 - 应用于样式时为 "SWT.MULTI | SWT.SINGLE"

java - 如何在 Eclipse 中打开这个 Spring 项目?

java - PostGIS 函数不能在 java 中使用 hibernate ?