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

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

26.02.2016, 11:23. Показов 854. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru