В данном случае вообще что-то странное (DAX4).
Если посмотреть иерархию классов по системному объекту Form, то показывает, что он наследуется не от TreeNode, а от Object. Тем не менее, ошибок компиляции на iterator.next() не возникает. Метод name на form есть, а на TreeNode нет.
По моему, строка iterator.next() должна вызывать ошибку на этапе компиляции, а не выполнения. Хотя метод form.treeNodeName() четко отрабатывает, хотя его нет прямо в Form, он определен на TreeNode, но, если верить стандартным утилитам, то его вообще не должно быть в классе Form. Судя по всему, для системных классов, реализованных на уровне ядра, на наследование полностью полагаться нельзя.
|