Java 未打印实例变量值

Java 未打印实例变量值,java,Java,我正在努力学习java。目前正在学习变量的类型。 我已经编写了一个小程序,定义了实例、局部变量和静态变量,并试图在main方法中打印它们。但我得到的错误是“非静态变量我不能从静态上下文引用。下面是我的程序 public class variable{ int i=5; static int j=10; public static void main(String[] args){ int k=15; System.out.println(i); System.

我正在努力学习java。目前正在学习变量的类型。 我已经编写了一个小程序,定义了实例、局部变量和静态变量,并试图在main方法中打印它们。但我得到的错误是“非静态变量我不能从静态上下文引用。下面是我的程序

public class variable{
  int i=5;
  static int j=10;
  public static void main(String[] args){
    int k=15;
    System.out.println(i);
    System.out.println(j);
    System.out.println(k);
  }
}
请告诉我程序有什么问题

选项:

为类创建一个新实例,这样就可以访问i。事实上,这可能不是最好的选择,因为您应该将其设置为私有,并添加一个getter方法…:)

由于静态main方法,您可以将
inti
更改为
static inti

+1:最好将类名设置为……:)

选项:

为类创建一个新实例,这样就可以访问i。事实上,这可能不是最好的选择,因为您应该将其设置为私有,并添加一个getter方法…:)

由于静态main方法,您可以将
inti
更改为
static inti


+1:最好将类名设置为camescased…:)

您需要创建变量的实例并访问i

variable v = new variable();

// then access v.i

顺便说一句,使用Camelcase作为类名。

您需要创建变量的实例并访问i

variable v = new variable();

// then access v.i

顺便说一句,使用Camelcase作为类名。

int i应该是静态的,因为静态上下文不能引用非静态变量。

int i应该是静态的,因为静态上下文不能引用非静态变量。

请使用正确的缩进设置代码格式。不是针对这个问题,而是在IDE中。良好的格式有助于您看问题容易得多。因为我是初学者,所以我用记事本来编写代码,而不是使用任何工具。你不能在静态方法中调用非静态变量,因为“i”是一个非静态变量&在静态main中使用method@user1861033-在此之前,您已经问了29个问题。您应该知道您的代码应该正确格式化(现在):)@user1861033我强烈建议您使用像eclipse这样的IDE。起初它可能看起来很复杂,但在开发时它会给您很多帮助。请使用正确的缩进设置代码的格式。不是针对这个问题,而是在您的IDE中。良好的格式可以帮助您更容易地看到问题。因为我是初学者,所以我正在使用记事本编写代码您不能在静态方法中调用非静态变量,因为“i”是一个非静态变量&用于静态mainmethod@user1861033-在此之前,您已经问了29个问题。您应该知道您的代码应该正确格式化(现在):)@user1861033我强烈建议您使用像eclipse这样的IDE。起初它可能看起来很复杂,但在开发过程中它给了您很多帮助。该项目的关键是要有一个非静态的变量。@f1sh是的,对不起,您是对的……该项目的关键是要有一个非静态的变量。@f1sh是的,对不起,你是对的。。。