У меня есть Java-программа, в которой используется параметризованный конструктор с именами параметров, аналогичными именам экземпляров. В таком случае нам нужно использовать это ключевое слово. Но когда я не использую это ключевое слово, он не дает никакой ошибки, вместо этого он инициализирует переменные экземпляра со значениями по умолчанию.Почему эта программа не дает ошибку двусмысленности
class Demo{
int a;
Demo(int a)
{
a = a;
}
public static void main(String args[])
{
Demo d = new Demo(5);
}
}
Но когда эта программа выполнена, значение a становится 0. Как?
Java инициализирует члены класса известными значениями по умолчанию, в этом случае 'int' по умолчанию считается' 0', так как вы никогда его не изменяете, значение остается неизменным ('0') – MadProgrammer
Фактически, при наличии соответствующих предупреждений , вы можете увидеть тот, который говорит вам, что назначение параметров - это плохо. – Wormbo