为什么我的实例变量没有实例就可以访问?

问题描述 投票:-1回答:1

我对实例变量的理解是,它们是在创建对象时创建的。 如果这是真的,那么为什么可以打印变量 "data"? 我是不是应该创建一个类的对象 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);
    }

}
java static instance-variables
1个回答
2
投票

你的方法 f1() 不是一个静态方法。 这意味着它只能在一个实例上被调用。 无论调用的是什么方法 f1() 可能正在创建一个 JavaTesting 先。 如果你做了 f1() static,你的IDE可能会大发雷霆,并开始咳出红旗。

© www.soinside.com 2019 - 2024. All rights reserved.