为什么我的实例变量可以在没有实例的情况下访问?
Why is my instance variable accessible without an instance?
我对Instance变量的理解是,它们是在创建对象时创建的。如果那是真的那么为什么可以打印变量 "data"?我不应该先创建一个 class JavaTesting
的对象吗?
public class JavaTesting
{
static int a = 1;
private int data = 99;
@Test
public void f1()
{
System.out.println("Print a = "+a);
System.out.println("Print data = "+data);
}
}
您的方法 f1()
不是静态方法。这意味着它只能在实例上调用。调用 f1()
的任何方法都可能首先创建 JavaTesting
的实例。如果你让 f1()
静态,你的 IDE 可能会发作并开始发出危险信号。
我对Instance变量的理解是,它们是在创建对象时创建的。如果那是真的那么为什么可以打印变量 "data"?我不应该先创建一个 class JavaTesting
的对象吗?
public class JavaTesting
{
static int a = 1;
private int data = 99;
@Test
public void f1()
{
System.out.println("Print a = "+a);
System.out.println("Print data = "+data);
}
}
您的方法 f1()
不是静态方法。这意味着它只能在实例上调用。调用 f1()
的任何方法都可能首先创建 JavaTesting
的实例。如果你让 f1()
静态,你的 IDE 可能会发作并开始发出危险信号。