Я прочитал здесь, что в Java возможно, что две переменные, имеющие одно и то же имя, но разные типы, будут сосуществовать в одной области. Я имею в виду это
class test
{
private int x;
private double x;
}
Но все java IDE не допускают такой код. Я хочу знать, действительно ли такой код является синтаксически правильным, или просто IDE не позволяет этому коду предотвращать неоднозначность.
В любом случае вот выдержка из сайта
"Если вам повезет, вы можете перекомпилировать вывод из Jad. Однако у виртуальной машины Java есть более мягкие правила для именования переменных, чем сам язык Java. Для экземпляров действительный файл класса может имеют несколько переменных с именем" a", если у них разные типы. Если вы декомпилируете такой класс, исходный код, который вы получите, будет недействительным.
JAD обычно переименовывает оскорбительные поля и делает перекомпилируемый файл... единственная проблема заключается в том, что перекомпилированный файл не будет совместим с исходными классами.