Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
В самом деле, не понятно, нужно ли преобразовать этот вызов в vaTest (int . . .) с одним аргументом переменной длины или же в вызов vaTest (int, int . . .) без аргументов переменной длины? В итоге возникает неоднозначная ситуация.
Вследствие ошибок, подобных описанным выше, в ряде случаев приходится отказываться от перегрузки и присваивать методам разные имена. Кроме того, ошибки неоднозначности вскрывают концептуальные просчеты в программировании, которые можно исправить, более тщательно обдумав структуру программы.
Упражнение для самопроверки по материалу главы 6
Допустим, имеется следующий фрагмент кода:class X {
private int count;
Является ли допустимым приведенный ниже фрагмент кода?class Y {
public static void main(String args[]) {
X ob = new X();
ob.count = 10;.
Модификатор доступа должен __ объявлению члена класса.
Помимо очереди, в программах часто используется структура данных, которая называется стеком. Обращение к стеку осуществляется по принципу “первым пришел — последним обслужен44. Стек можно сравнить со стопкой тарелок, стоящих на столе.Последней берется тарелка, поставленная на стол первой. Создайте класс Stack, реализующий стек для хранения символов. Используйте методы push () и pop () для манипулирования содержимым стека. Пользователь класса Stack должен иметь возможность задавать размер стека при его создании. Все члены класса Stack, кроме методов push () и pop (), должны быть объявлены как private. (.Подсказка: в качестве заготовки можете воспользоваться классом Queue, изменив в нем лишь способ доступа к данным.)
Допустим, имеется следующий класс:class Test {
int а;
Test(int i) { a = i; }
}
Напишите метод swap (), реализующий обмен содержимым между двумя объектами типа Test, на которые ссылаются две переменные данного типа.
Правильно ли написан следующий фрагмент кода?class X {
int meth(int a, int b) { ... }
String meth(int a, int b) { ... }
Напишите рекурсивный метод, отображающий строку задом наперед.
Допустим, все объекты класса должны совместно пользоваться одной и той же переменной. Как объявить такую переменную?
Для чего может понадобиться статический блок?
Что такое внутренний класс?
Допустим, требуется член класса, к которому могут обращаться только другие члены этого же класса. Какой модификатор доступа следует использовать в его объявлении?
Имя метода и список его параметров вместе составляют __ метода.
Если методу передается значение типа int, то в этом случае используется передача параметра по __.
Создайте метод sum () с аргументами переменной длины для суммирования передаваемых ему значений типа int. Метод должен возвращать результат суммирования. Продемонстрируйте его в действии.
Можно ли перегружать метод с аргументами переменной длины?
Приведите пример неоднозначного вызова перегружаемого метода с переменным числом аргументов.
Глава 7
Наследование
Основные навыки и понятия
Основы наследования
Вызов конструктора суперкласса
Обращения к членам суперкласса с помощью ключевого слова super
Создание многоуровневой иерархии классов
Порядок вызова конструкторов
Представление о ссылках на объекты подкласса из переменной суперкласса
Переопределение методов
Применение переопределяемых методов для организации динамического доступа
Абстрактные классы
Использование ключевого слова final
Представление о классе Object