Новые книги

В сборник вошли научные статьи, отражающие основные результаты исследования эффективности рекламных текстов вербально-визуального типа. Последовательность представленных в сборнике работ отражает логику автора по осмыслению этапов рекламной коммуникации, в основе которого лежат принципы перлокутивной лингвистики. Эффективность текста поликодовой природы, таким образом, исследуется с точки зрения комплексного прагматического воздействия на адресата. В сборнике представлена авторская методика выявления индекса эффективности рекламного текста.
Что отличает людей, достигающих великолепных результатов в своем деле, от всех прочих? Почему многие из нас остаются крепкими середнячками, тогда как те, с кем мы начинали, становятся профессионалами мирового уровня? Можем ли мы вообще претендовать на что-то выдающееся или это удел избранных? Что определяет наш успех? Образование? Опыт работы? Амбиции? Талант?

Автор этой книги, колумнист и редактор Fortune, уверен: талант (равно как и все вышеперечисленное) здесь ни при чем! Экстраординарные результаты достигаются людьми, которые особым образом практикуются в избранной сфере деятельности — это доказано солидными исследованиями. И эта «осознанная практика», описанная в книге, доступна абсолютно всем.

Перед вами новое российское издание бестселлера Джеффа Колвина. Ранее книга выходила под названием «Выдающиеся результаты. Талант ни при чем!».

Указатели, которых нет



Указатели, которых нет

Оглавление

Введение
Инструментарий
Мобильность
Типы данных
Классы Java
Указатели
Массивы
Сборка мусора
Реализация классов

Вперед

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

Спешим успокоить - вы сможете успешно составлять приложения Java и без указателей, несмотря на то что вам, возможно, придется немного изменить стиль программирования.

Вы можете спросить: как же передавать функциям ссылки на объекты, если нет указателей?

Если вам нужно передать ссылку на переменную базового типа, такого, например, как int или long, то ничего не получится - мы уже говорили, что переменные базовых типов передаются по значению, а не по ссылке. Поэтому нельзя напрямую создать на языке Java эквивалент следующей программы, составленной на языке С:

// Некоторая переменная
int nSomeValue;

// Функция, изменяющая значение переменной,
// заданной своим адресом
void StoreValue(int *pVar, int nNewValue)
{
  pVar->nNewValue;
}
. . .
StoreValue(&nSomeValue, 10);

Выход, однако, есть.

Язык Java позволяет использовать вместо указателей ссылки на объекты. Пользуясь этими ссылками, вы можете адресовать объекты по их имени, вызывая методы и изменяя значения данных объектов.

Что же касается данных базовых типов, если вам нужно передавать на них ссылки, то следует заменить базовые типы на соответствующие   замещающие классы. Например, вместо типа int используйте класс Integer, вместо типа long - класс Long и так далее.

Инициализация таких объектов должна выполняться с помощью конструктора, как это показано ниже:

Integer nSomeValue;
nSomeValue = new Integer(10);

Первая строка создает неинициализированную ссылку с именем nSomeValue и типом Integer. При попытке использования такой ссылки возникнет исключение.

Вторая строка создает объект класса Integer, вызывая конструктор. Этот конструктор определяет начальное значение. После выполнения оператора присваивания ссылка nSomeValue будет ссылаться на реальный объект класса Integer и ее можно будет использовать.

Имя объекта nSomeValue типа Integer вы можете передавать функциям в качестве параметра, причем это будет ссылкой на объект.

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

В языке Java реализован механизм массивов, исключающих необходимость использования указателей.

Вперед