Почему метод getHeight () не работает в конструкторе? - PullRequest
0 голосов
/ 20 июня 2011

Это код:

    import acm.program.*; 

    public class test extends GraphicsProgram{ 

        public test(){ 

           println(getHeight()); 

        } 

        public void run(){ 

          println(getHeight()); 

        } 

    }

Выполненный результат - 0 472.Почему getHeight() в конструкторе возвращает 0, тогда как run() возвращает 472, что является реальным значением?

Ответы [ 2 ]

5 голосов
/ 20 июня 2011

Высота не была установлена ​​до метода init(), который выполняется до метода run().

0 голосов
/ 20 июня 2011

Сначала предмет не имеет высоты. Скорее всего, вы вызываете getHeight () до того, как компонент будет размечен или задан высота.

...