Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
 Аватар для EvFen
6 / 6 / 1
Регистрация: 01.04.2015
Сообщений: 21

Java core - нулевой уровень

26.02.2016, 11:23. Показов 882. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые посетители форума. У меня есть вопросы на которые не смог найти ответов у гугла. Прошу вашей помощи.

1. Изучаю Java по книге "Философия Java 4-е издание" книга представляет собой перевод...очень корявый перевод. В ней встречаются не точности. Вот одна из них:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package begin;
 
class Villain{
    private String name;
    
    protected void set(String nm){
        nm = name;
    }
    public Villain(String name){
        this.name = name;
    }
    public String toString(){
        return "This is object Villain, her name = " + name;
    }
}
 
public class Orc extends Villain {
    private int orcNumber;
    
    public Orc(String name, int orcNumber){
        super(name);
        this.orcNumber = orcNumber;
    }
    public void change(String name, int orcNumber){
        set(name);
        this.orcNumber = orcNumber;
    }
    public String toString(){
        return "Orc" + orcNumber + ": " + super.toString(); 
    }
 
    public static void main(String[] args) {
        Orc orc = new Orc("Limburger", 12);
        System.out.println(orc);
        orc.change("Tom", 19);
        System.out.println(orc);
        
 
    }
 
}
Output:
Orc12: This is object Villain, her name = Limburger
Orc19: This is object Villain, her name = Tom

Код точно соответствует коду из книги стр.186

При запуске кода в Eclipse выходит Output:
Orc12: This is object Villain, her name = Limburger
Orc19: This is object Villain, her name = Limburger

При изменении родительского метода на
protected void set(String name){
this.name= name;
}
Ошибка исправляется, Output:
Orc12: This is object Villain, her name = Limburger
Orc19: This is object Villain, her name = Tom

Подскажите пожалуйста, это так и задумано или это ошибка перевода оригинала? Я учусь по этой книге и уже не первый раз замечаю подобное. "Лучше незнание, чем фальшивые знания" Стоит продолжать по ней учиться?

Есть ли альтернатива данной книги в русском переводе по которой реально учиться?(английский язык изучаю параллельно)

Вопрос номер 2.

Для сравнения объектов используют метод equals()
Он выглядит так:
public boolean equals(Object obj) {
return (this == obj);

по сути вместо его можно использовать оператор ==
Чтобы метод equals() работал его нужно переопределить.
Вопрос: Зачем его каждый раз нужно переопределять? Нельзя было сделать, чтобы он сразу был рабочим и без переопределения сравнивал объекты? "Зачем этому чудо велосипеду каждый раз прикручивать педали, чтобы на нем поехать?" Вопрос звучит, как вопрос к компании Oracle или Sun. Но мне вот интересно, может так и задумано, что его нужно переопределять, может в реальном коде это больше плюс, чем минус.

Вопрос номер 3:
Static и final. Знаю, что статические переменные и контейнеры инициализируются в первую очередь, статический значит постоянный. А final значит, что нельзя изменить к примеру переменную. Они похожи, но в каких случаях стоит использовать в реальном коде static, а когда final?

Вопрос номер 4:
В Java запрещено множественное наследование от разных базовых классов.
У нас есть:
class A class B class C

Чтобы провести наследование от всех выше указанных классов, нужно отнаследовать их между собой.
class A -> class B -> class C

Теперь когда я наследую для class F extends C то я получаю доступ ко всему дереву наследования.
Вопрос: Это множественное наследование?

Знаю, что для бывалых программистов этот текст может показаться ахинеей, прошу сделать скидку на том, что я нуб.
Спасибо, что прочли. Буду искренне признателен и благодарен за ваши ответы.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.02.2016, 11:23
Ответы с готовыми решениями:

Начальный уровень Java, обьясните
Доброго вечера! объясните пожалуйста часть кода: /* У каждого животного должна быть хозяйка. Создайте объект типа Cat(кот),...

Мои мысли о Java (уровень - zero)
Здравствуйте дорогие друзья! Хочу поделить с вами своими мыслями и суждениями в области программирования. Занимаясь самостоятельным...

Нулевой уровень чернил в Xerox 5325
Закончился картридж на Xerox 5325, распечатываю, ставлю новый. Долго шумит и выдает, что уровень чернил 0%, замените на новый. Новый...

1
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
29.02.2016, 22:04
1. Хреново распознаный скан это, не иначе.
2. Один, два.
3. final - это константа, static - поле, к которому можно обратиться без создания экземпляра класса, в котором поле объявлено. Когда и что использовать зависит от ситуации. Но, в принципе, static - это либо константа, используемая внутри класса, либо какой-либо утилитарный метод, ввиду того, что в Java нет самостоятельных функций.
4. множественное наследование в Java имеется. Но оно разрешено только для интерфейсов, т.к. интерфейс не содержит конкретной имплементации. В Java 8 интерфейсы с одинаковыми default-методами, при множественном наследовании принудительно заставляют переопределять имплементацию каждого default-метода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.02.2016, 22:04
Помогаю со студенческими работами здесь

Заправка картриджа HP 122 (нулевой уровень чернил после заправки)
Добрый вечер! Сегодня впервые заправил картридж HP 122. Заправлял по инструкции. Вроде он работатет и печатает, но вот в чем вопрос: в...

Java core. Цикл for
Подскажите, почему бесконечный цикл в типах byte, short при сигнатуре for (byte x=-125;x=125;x++); System.our.println...

Что входит в Java core?
Хотелось бы все разложить по пунктам

Java Core - Senior. Нидерланды
Back-end Developer (Core Java) Rotterdam, The Netherlands About the client: Dutch based telecom provider of mobile communication...

Как сделать чтобы уровень змейки и уровень яблока совпадал?
Здравствуйте. Как сделать чтобы уровень змейки и уровень яблока совпадал?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru