
Код AS3:
public function Bird(){ // это называется Конструктор. Он создает новый экземпляр класса Bird
bird = new Bird(); // так вызывается конструктор класса Bird
То есть, внутри конструктора вы вызываете этот конструктор. Который вызывает конструктор, вызывающий конструктор.
Добавлено через 26 минут
Классы нужны для того, чтобы выделить каждый объект программы в отдельную сущность. Это вот — Птица. Написав ее класс, можно будет создавать много однотипных экземпляров этой самой Птицы, которые будут вести себя одинаково. Создавать где? В других классах, в их экземплярах. И есть один класс, типа самый главный, называется Класс Документа, или Документ-класс, обычно его именуют Main. Когда вы запускаете свой ролик в флэш-плеере, первым делом создается и размещается на сцене экземпляр этого Документ-класса. То есть с него все начинается. Поэтому сначала надо написать этот класс Мейн и указать его в редакторе как Документ-класс (там есть соответствующая форма).
И вот в этом Мейне вы уже начинаете что-то лепить из других классов. Например, создаете экземпляр Птицы, добавляете его в отображение и начинаете двигать.
Если эта Птица сама по себе ничего не делает, не расчитывает и ничем не управляет, а представляет из себя просто муви-клип с анимацией махания крыльями, то по-сути писать то ничего и не надо в ее классе, достаточно указать класс для ролика в библиотеке. Вам стоило начать с этого — просто написать класс Мейн, по-сути тот же код, что Вы писали в кадре, с небольшими особенностями оформления его как Класса. А потом уже думать, какой бы ОСМЫСЛЕННЫЙ класс написать еще. То есть такой, чтобы было о чем писать))))) Чтобы он что-то делал, а не просто "был", добавлялся на сцену и там красовался.
Добавлено через 45 минут
В каком случае был бы смысл писать класс Bird?
Если бы у птицы были параметры. Например, можно было бы создавать птиц разного цвета. Или создавать разных птиц, указывая их название в параметре конструктора. То есть, использование класса выглядело бы так (код в Мейне):

Код AS3:
var eagle:Bird = new Bird("Eagle"); // орел
this.addChild(eagle);
var owl:Bird = new Bird("Owl"); // сова
this.addChild(owl);
Вот тогда в классе Птица, в конструкторе, было бы что-то похожее по смыслу на то, что написали Вы: нужно было бы найти ролик соответствующей птицы и добавить его в отображение данного экземпляра Птицы:

Код AS3:
public function Bird(type:String) {
if(type == "Eagle") this.addChild(new Eagle()); // берем из библиотеки ролик класса Eagle
if(type == "Owl") this.addChild(new Owl()); // берем из библиотеки ролик класса Owl
}
Не самый лучший пример использования классов, но хотя бы демонстрирующий, зачем они нужны.
У вас будет два экземпляра класса Bird, выглядящие по-разному, но абсолютно одинаковые для программы.
Этот прием называется Композиция (или агрегация) — когда экземпляр одного класса добавляет в себя экземпляр другого.
Противоположный композиции прием называется Наследование — это если бы классы Орел и Сова наследовали (расширяли, extends) класс Птица. Для роликов, нарисованных в графическом редакторе Adobe Flash, такое невозможно — они могут расширять только МувиКлип, поэтому два ролика с разными изображениями птиц не могут расширять один класс Птица. Тогда есть смысл использовать Композицию.