Почему моя переменная экземпляра доступна без экземпляра? - PullRequest
0 голосов
/ 29 мая 2020

Насколько я понимаю, переменные экземпляра таковы, что они создаются при создании объекта. Если это правда, то зачем печатать переменную «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);
    }

}

1 Ответ

2 голосов
/ 29 мая 2020

Ваш метод f1() не является статическим c методом. Это означает, что его можно вызывать только в экземпляре. Независимо от того, какой метод вызывает f1(), вероятно, сначала создается экземпляр JavaTesting. Если бы вы сделали f1() stati c, ваша IDE, вероятно, подошла бы и начала кашлять красными флажками.

...