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

System.out.println("Two double parameters: " +

a + " "+ b);

return a + b;

}

}

class OverloadDemo {

public static void main(String args[]) {

Overload ob = new Overload();

int resl;

double resD;

// вызвать все варианты метода ovlDemo()

ob.ovlDemo();

System.out.println();

ob.ovlDemo(2) ;

System.out.println();

resl = ob.ovlDemo(4, 6) ;

System.out.println("Result of ob.ovlDemo(4, 6): " +

resl);

System.out.println();

resD = ob.ovlDemo(1.1, 2.32);

System.out.println("Result of ob.ovlDemo(1.1, 2.32): " +

resD);

}

}

Как видите, метод ovlDemo () перегружается четырежды. В первом его варианте параметры не предусмотрены, во втором — определен один целочисленный параметр, в третьем — два целочисленных параметра, в четвертом — два параметра типа double. Обратите внимание на то, что первые два варианта метода ovlDemo () имеют тип void, а два другие возвращают значение. Как пояснялось ранее, тип возвращаемого значения не учитывается при перегрузке методов. Следовательно, попытка определить два варианта метода ovlDemo () так, как показано ниже, приводит к ошибке.

// Возможен лишь один вариант метода ovlDemo (int).

// Возвращаемое значение нельзя использовать

// для различения перегружаемых методов.

void ovlDemo(int а) {

System.out.println("One parameter: " + a);

}

/ Ошибка! Два варианта метода ovlDemo(int) не могут существовать,

даже если типы возвращаемых ими значений отличаются.

/

int ovlDemo(int а) {

System.out.println("One parameter: " + a);

return a * a;

}

Как поясняется в комментариях к приведенному выше фрагменту кода, отличия возвращаемых типов недостаточно для перегрузки методов.

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

/ Автоматическое преобразование типов может оказывать влияние

на выбор перегружаемого метода.

/

class 0verload2 {

void f(int x) {

System.out.println("Inside f(int): " + x) ;

}

void f(double x) {

System.out.println("Inside f(double): " + x) ;

}

}

class TypeConv {

public static void main(String args[]) {

overload2 ob = new 0verload2();

int i = 10;

double d = 10.1;

byte b = 99;

short s = 10;

float f = 11.5F;

ob.f(i); // Вызов метода оb.f(int)

ob.f(d); // Вызов метода ob.f(double)

ob.f(b); // Вызов метода oh.f(int) с преобразованием типов

ob.f(s); // Вызов метода ob.f(int) с преобразованием типов

ob.f(f); // Вызов метода ob.f(double) с преобразованием типов

}

}

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

Inside f (int) : 10

Inside f(double): 10.1

Inside f (int): 99

Inside f(int): 10

Inside f(double): 11.5

В данном примере определены только два варианта метода f (): один принимает параметр типа int, а второй — параметр типа double. Но передать методу f () можно также значение типа byte, short или float. Значения типа byte и short исполняющая система Java автоматически преобразует в тип int. В результате будет вызван вариант метода f (int). А если параметр имеет значение типа float, то оно преобразуется в тип double и далее вызывается вариант метода f (double).

Важно понимать, что автоматическое преобразование типов выполняется лишь в отсутствие прямого соответствия типов параметра и аргумента. В качестве примера ниже представлена другая версия предыдущей программы, в которой добавлен вариант метода f() с параметром типа byte.

// Добавление варианта метода f(byte).

class 0verload2 {

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