Knigionline.co » Программное обеспечение » Java руководство для начинающих

Java руководство для начинающих - Шилдт Герберт (2012)

Java руководство для начинающих
  • Год:
    2012
  • Название:
    Java руководство для начинающих
  • Автор:
  • Жанр:
  • Оригинал:
    Английский
  • Язык:
    Русский
  • Издательство:
    Вильямс
  • Страниц:
    316
  • ISBN:
    978-5-8459-1770-6
  • Рейтинг:
    4.3 (4 голос)
  • Ваша оценка:
"Java: руководство для начинающих", автором которого является Герберт Шилдт, а также на его счету популярные по всему миру книги по языкам программирования, таким образом, чтобы у читателя получилось быстро освоить основные навыки программирования на Java. Полностью обновленное по версии Java Platform, Standard Edition 7, пятое издание этого учебного пособия начинается с обзора самых простейших основ, не исключая выполнение простых программ на Java и компилирование. Далее в нем описаны синтаксические конструкции и ключевые слова составляющие основу Java как языка программирования. Затем следует изложение наиболее передовых языковых средств Java, включая многопоточное и обобщенное программирование. Книга завершается введением в библиотеку Swing. Использованный в книге справочный и учебный материал позволяет читателю быстро и легко освоить основы программирования на Java. В целях упрощения процесса изучения Java, учебник построен следующим образом: - Базовые понятия и навыки. Все главы начинаются с перечня базовых понятий и навыков, которые будет необходимо усвоить читателю. - Обращение к знатоку. Во врезках под этим заголовком даны полезные рекомендации в форме вопрос-ответ. - Примеры для опробования. Это примеры небольших проектов, наглядно показывающие, как применять полученные навыки и знания на практике. - Упражнения для самопроверки. В конце каждой главы присутствуют контрольные вопросы и задания для проверки прочности изученного материала. - Подробные комментарии к примерам программ. Все примеры программ в этом учебном пособии снабжены подробными комментариями, которые описывают приемы программирования Java и демонстрируемые языковые средства.

Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги

// создать суперкласс

class А {

А() {

System.out.println("Constructing A.") ;

}

}

// создать подкласс путем расширения класса А

class В extends А {

ВО {

System.out.println("Constructing В.");

}

}

// создать подкласс путем расширения класса В

class С extends В {

СО {

System.out.println("Constructing С.") ;

}

}

class OrderOfConstruction {

public static void main(String args[]) {

С с = new С();

}

}

Ниже приведен результат выполнения данной программы.

Constructing А.

Constructing В.

Constructing С.

Как видите, конструкторы вызываются по порядку выведения их классов.

По зрелом размышлении можно прийти к выводу, что вызов конструкторов по порядку выведения их классов имеет определенный смысл. Ведь суперклассу ничего не известно ни об одном из производных от него подклассов, и поэтому любая инициализация, которая требуется его членам, осуществляется совершенно отдельно от инициализации членов подкласса, а возможно, это и необходимое условие. Следовательно, онадолжна выполняться первой.

Ссылки на суперкласс и объекты подклассов

Как вам должно быть уже известно, Java является строго типизированным языком программирования. Помимо стандартных преобразований и автоматического продвижения простых типов данных, в этом языке строго соблюдается принцип совместимости типов. Это означает, что переменная ссылки на объект класса одного типа, как правило, не может ссылаться на объект класса другого типа. В качестве примера рассмотрим следующую простую программу:

// Этот код не подлежит компиляции,

class X {

int а;

X(int i) { а = i; }

}

class Y {

int a;

Y(int i) { a = i; }

}

class IncompatibleRef {

public static void main(String args[]) {

X x = new X(10);

X x2;

Y у = new Y(5);

x2 = x; // Допустимо, так как обе переменные одного типа.

х2 = у; // Ошибка, так как переменные разных типов.

}

}

Несмотря на то что классы X и Y содержат одинаковые члены, переменной типа X нельзя присвоить ссылку на объект типа Y, поскольку типы объектов отличаются. Вообще говоря, переменная ссылки на объект может указывать только на объекты своего типа.

Но из этого строгого правила соблюдения типов имеется следующее важное исключение: переменной ссылки на объект суперкласса может быть присвоена ссылка на объект любого производного от него подкласса. Следовательно, по ссылке на объект суперкласса можно обращаться к объекту подкласса. Ниже приведен соответствующий пример.

// Обращение к объекту подкласса по ссылке на объект суперкласса,

class X {

int а;

X(int i) { а = i; }

}

class Y extends X {

int b;

Y(int i, int j) {

super(j) ;

b = i;

}

}

class SupSubRef {

public static void main(String args[]) {

X x = new X(10);

X x2;

Y у = new Y(5, 6) ;

x2 = x; // Допустимо, так как обе переменные одного типа.

System.out.println("х2.а: " + х2.а);

// Класс Y является подклассом X, поэтому переменные х2 и у 1

// могут ссылаться на один и тот же объект производного класса.

х2 = у; // По-прежнему допустимо по указанной выше причине.

System.out.println("х2.а: " + х2.а);

// В классе X известны только члены класса X.

х2.а = 19; // Допустимо.

//х2.b=27; // Ошибка, так как переменная Ь не является членом класса X.

}

}

В данном примере класс Y является подклассом X. Следовательно, переменной х2 можно присвоить ссылку на объект типа Y.

Перейти
Наш сайт автоматически запоминает страницу, где вы остановились, вы можете продолжить чтение в любой момент
Оставить комментарий