Confused about the value

Refresh

December 2018

Views

59 time

1

I am going through a JavaCode.I have a question regarding one variable which is being declared and used but I am not sure from where it's getting an integer value:

Problem Description:

I have a variable defined inside a class ( named "MyStuffReader") which is as follows:

private int CurrModValue;

Below in the code, I see the constructor for the class which is defined as follows:

 public MyStuffReader(int CurrModValue) 
        {
            this.CurrModValue = CurrModValue;
        }

I am wondering does CurrModValue generates value by itself?

My Understanding :

Thanks guys for your answers. I believe, I figured it out. I have another java file where I have the following defined:

public MyStuffReader[] QR;

private static int x = 10;

and then, later down in the code, I have the following defined:

QR = new MyStuffReader[x];

The code that I originally mentioned above is inside MyStuffReader.java file. so, I believe the value 10 is getting passed into the constructor.

Please correct me if I am wrong.

Thanks

3 answers

0

Значение , которое передается в качестве аргумента в методе будет установлено в переменный экземпляре CurrModValue.

public MyStuffReader(int CurrModValue) 
        {
                this.CurrModValue = CurrModValue;
Instance Variable(global)---^            ^----Parameter variable(local)
        }
2

Нет, CurrModValueне генерирует значение сам по себе. Это параметр конструктора. Если вы должны были создать MyStuffReader, вы можете закодировать его как:

MyStuffReader reader = new MyStuffReader(5);

Затем CurrModValue(параметр) является 5, и он получает назначен this.CurrModValue, который также становится 5.

3

this.CurrModValueи CurrModValueэто не то же самое. this.CurrModValueпринадлежит к объекту , пока CurrModValueобъявлен только внутри метода.