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

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

NumericFns(Т п) {

num = п;

}

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

double reciprocal() {

return 1 / num.doubleValue();

}

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

double fraction() {

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

}

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

boolean absEqual(NumericFns<?> ob) {

if(Math.abs(num.doubleValue()) ==

Math.abs(ob.num.doubleValue())) return true;

return false;

}

// ...

}

// продемонстрировать применение метасимвольного аргумента

class WildcardDemo {

public static void main(String args[]) {

NumericFns iOb =

new NumericFns(6) ;

NumericFns dOb =

new NumericFns(-6.0) ;

NumericFns 10b =

new NumericFns(5L);

System.out.println("Testing iOb and dOb.");

// В этом вызове метода тип метасимвольного

// аргумента совпадает с типом Double.

if(iOb.absEqual(dOb))

System.out.println("Absolute values are equal.");

else

System.out.println("Absolute values differ.");

System.out.println();

System.out.println("Testing iOb and 10b.");

// А в этом вызове метода тип метасимвольного

// аргумента совпадает с типом Long.

if(iOb.absEqual(10b))

System.out.println("Absolute values are equal.");

else

System.out.println("Absolute values differ.");

}

}

Выполнение этой программы дает следующий результат:

Testing iOb and dOb.

Absolute values are equal.

Testing iOb and 10b.

Absolute values differ.

Обратите внимание на два следующих вызова метода absEqual ():

if(iOb.absEqual(dOb))

if(iOb.absEqual(10b))

В первом вызове переменная iOb указывает на объект типа NumericFns<Integer>, а переменная dOb — на объект типа NumericFns<Double>. Благодаря применению ме- тасимвольного аргумента по ссылке на объект iOb удается передать объект dOb методу absEqual (). Подобным образом формируется и другой вызов, в котором методу передается объект типа NumericFns<Long>.

И последнее замечание: не следует забывать, что метасимвольные аргументы не оказывают влияния на тип создаваемого объекта в классе NumericFns. Для этой цели служит оператор extends, указываемый в объявлении класса NumericFns. Метасимвольный аргумент лишь указывает на соответствие любому допустимому объекту класса NumericFns.

## Ограниченные метасимвольные аргументы

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

class А {

// ...

}

class В extends А {

// ...

}

class С extends А {

// ...

}

// Обратите внимание на то, что D не является подклассом А.

class D {

// ...

}

Здесь класс А является суперклассом для классов В и С, но не для класса D.

Теперь рассмотрим очень простой обобщенный класс.

// Простой обобщенный класс.

class Gen { ^

Т ob;

Gen(Т о) {

ob = о;

}

}

В классе Gen предусмотрен один параметр типа, который определяет тип объекта, хранящегося в переменной ob. Как видите, на тип Т не накладывается никаких ограничения. Следовательно, параметр типа Т может обозначать любой класс.

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