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 руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги

<Т extends суперкласс>

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

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

//В этой версии класса NumericFns аргументом типа,

// заменяющим параметр типа Т, должен стать класс Number

// или производный от него подкласс, как показано ниже,

class NumericFns {

T num;

// передать конструктору ссылку на числовой объект

NumericFns(Т п) {

num = п;

}

// возвратить обратную величину

double reciprocal() {

return 1 / num.doubleValue() ;

}

// возвратить дробную часть

double fraction() {

return num.doubleValue() - num.intValue();

}

// ...

}

// продемонстрировать класс NumericFns

class BoundsDemo {

public static void main(String args[]) {

// Применение класса Integer вполне допустимо, так как он

// является подклассом, производным от класса Number.

NumericFns<Integer> iOb =

new NumericFns<Integer>(5) ;

System.out.println("Reciprocal of iOb is " +

iOb.reciprocal());

System.out.println("Fractional component of iOb is " +

iOb.fraction());

System.out.println();

// Применение класса Double также допустимо.

NumericFns<Double> dOb =

new NumericFns<Double>(5.25);

System.out.println("Reciprocal of dOb is " +

dOb.reciprocal());

System.out.println("Fractional component of dOb is " +

dOb.fraction());

// Следующая строка кода не будет компилироваться, так как

// класс String не является производным от класса Number.

// NumericFns<String> strOb = new NumericFns<String>("Error");

}

}

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

Reciprocal of iOb is 0.2

Fractional component of iOb is 0.0

Reciprocal of dOb is 0.19047619047619047

Fractional component of dOb is 0.25

Как видите, для объявления класса NumericFns в данном примере служит следующая строка кода:

class NumericFns {

Теперь тип т ограничен классом Number, а следовательно, компилятору Java известно, что для всех объектов типа т доступен метод doubleValue (), а также другие методы, определенные в классе Number. И хотя это само по себе дает немалые преимущества, кроме того, предотвращает создание объектов класса NumericFns для нечисловых типов. Так, если попытаться удалить комментарии из строки кода в конце рассматриваемой здесь программы, а затем повторно скомпилировать ее, то будет получено сообщение об ошибке, поскольку класс String не является подклассом, производным от класса Number.

Ограниченные типы оказываются особенно полезными в тех случаях, когда нужно обеспечить совместимость одного параметра типа с другим. Рассмотрим в качестве примера представленный ниже класс Pair. В нем хранятся два объекта, которые должны быть совместимы друг с другом.

// Тип V должен совпадать с типом Т или быть его подклассом.

class Pair {

Т first;

V second;

Pair(T a, V b) {

first = a;

second ='b;

}

// ...

}

В классе Pair определяются два параметра типа т и V, причем V расширяет тип Т. Это означает, что тип V должен быть либо того же типа, что и т, либо его подклассом. Благодаря такому объявлению гарантируется, что два параметра типа, передаваемые конструктору класса Pair, будут совместимы друг с другом. Например, приведенные ниже строки кода составлены правильно.

// Эта строка кода верна, так как Т и V относятся типу Integer.

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