Я пытаюсь напечатать статическое значение типа int в основном методе java, когда я печатаю, он дает мне значение как [Ljava.lang.String;@7852e922
в качестве обозначения объекта вместо фактического значения.Не могли бы вы объяснить, что происходит внутри?
Кроме того, когда я пытаюсь использовать ClassName.varibaleName его рабочее и печатать правильное значение.Также, когда я печатаю, используя объект.это показывает правильный результат.
Я вижу проблему только тогда, когда я непосредственно получаю доступ к значению статической переменной в методе main.
Я также пытался создать другой метод, и он дает результат.
class Demo1 {
static int a;
public static void main(String a[]) {
Demo1 demo1 = new Demo1();
demo1.inc();
Demo1 demo2 = new Demo1();
demo2.inc();
Demo1 demo3 = new Demo1();
demo3.inc();
System.out.print("Count value is=" + a);
System.out.print(a);
System.out.print("\n" + demo1.a);
System.out.print(demo2.a);
System.out.print(demo3.a);
}
public static void inc() {
a = a + 1;
System.out.println("Value a" + a);
}
}
Я получаю ниже Результат:
Value a1
Value a2
Value a3
Count value is=[Ljava.lang.String;@7852e922[Ljava.lang.String;@7852e922
333
Но ожидаемое значение счетчика равно =3
вместо [Ljava.lang.String;@7852e922