Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 10.01.2017
Сообщений: 33

Java наследование

15.06.2017, 10:54. Показов 1663. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Немного запутался в теме наследования, а конкретнее что НЕ наследуется при наследовании ????
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.06.2017, 10:54
Ответы с готовыми решениями:

Наследование в java
ребят,вот прога,как сделать в ней наследование,подскажите плс package программы; import java.io. IOException;/* подключение...

Наследование в Java
Написал класс: public class Point extends Graph { private int x; private int y; private int color; public...

Наследование в Java
Здравствуйте кодеры! Есть вопрос по задаче! Не могу ни как понять ее. Я вроде как изменил код, добавил модели ноутбуков. Например...

11
164 / 170 / 139
Регистрация: 28.11.2016
Сообщений: 301
15.06.2017, 12:58
Java
1
2
3
4
5
6
7
8
9
10
public class A {
    private int x1;
    protected int x2;
    int x3;
    public int x4;
//    x1 =  1; // вообще не наследуется
//    x2 =  2; // наследуется везде
//    x3 = 3;  // наследуется только внутри пакета
//    x4 = 4;  // наследуется везде
}
Java
1
2
3
4
5
6
7
8
9
10
11
public class B extends A {
    public void check() {
//        x1 =  1; // внутри пакета не работает
        x2 =  2;
        x3 = 3;
        x4 = 4;
        new A2().a21 = 1; // внутри пакета работает
        new A2().a22 = 1; // внутри пакета работает
    }
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class C extends A {
    private class C2 extends A.A2 {
        public void check() {
            a21 = 1; // за пределами пакета работает
            a22 = 1;  // за пределами пакета работает
        }
    }
    public void check() {
        //x1 =  1; // вообще нигде
        x2 = 2; // наследуется везде
        // x3 = 3;  // наследуется только внутри пакета
        x4 = 4;  // наследуется везде
 
//        new A2().a21 = 1;  // за пределами пакета не работает
//        new A2().a22 = 1;  // за пределами пакета не работает
//        new C2().a21 = 4; // за пределами пакета не работает
        new C2().a22 = 4; // за пределами пакета работает
    }
 
 
}
Из чего следует:
1. не наследуется никогда все что имеет доступ private
2. за пределами пакета не наследуются все что имеет доступ default

С внутренним классом protected все немного веселее.
Смотрите классы и комментарии. Class B внутри пакета вместе с Class A,
Class C за пределами пакета где Class A

И как рекомендация, возьмите IDE загоните туда классы и поиграйтесь.
1
0 / 0 / 0
Регистрация: 10.01.2017
Сообщений: 33
15.06.2017, 13:15  [ТС]
если в классе А есть private поле , и есть public сеттеры и геттеры для поля , то в классе наследнике В я спокойно могу добраться до поля , то есть создав экземпляр класса В я с мопощью геттеров и сеттеров могу установить и считать значение в поле родительского класса , что это если не наследование?????? у меня в классе насдеднике все равно есть поле которое принадлежит родительскому классу просто к нему доступ слегка специфичен, разве не так , все проверял опытным путем ручками
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
15.06.2017, 13:15
v777779, wat?
Цитата Сообщение от zimovets_s Посмотреть сообщение
НЕ наследуется при наследовании
triple wat???

Не по теме:

ребят отсыпьте немного того что курите



наследуется всегда все, а то что ты описал - это ограничение доступа через модификаторы
1
0 / 0 / 0
Регистрация: 10.01.2017
Сообщений: 33
15.06.2017, 13:17  [ТС]
я думаю Вы правы просто есть нюансы как обойти модификаторы доступа!!!
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
15.06.2017, 13:19
Цитата Сообщение от zimovets_s Посмотреть сообщение
я думаю Вы правы просто есть нюансы как обойти модификаторы доступа!!!
не понял, что значит обойти?
0
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496
15.06.2017, 14:00
Ищё к примеру нельзя переопределить final методы. И нельзя наследоваться от final классов(к примеру String).

Добавлено через 2 минуты
Цитата Сообщение от LeX Посмотреть сообщение
не понял, что значит обойти?
Думаю имелась ввиду рефлексия.
0
0 / 0 / 0
Регистрация: 10.01.2017
Сообщений: 33
15.06.2017, 14:25  [ТС]
Цитата Сообщение от LeX Посмотреть сообщение
не понял, что значит обойти?
имел ввиду достучаться до приват поля с помощью паблик сеттеров и геттеров

Добавлено через 11 минут
Цитата Сообщение от Borsche Посмотреть сообщение
Ищё к примеру нельзя переопределить final методы. И нельзя наследоваться от final классов(к примеру String).

Добавлено через 2 минуты

Думаю имелась ввиду рефлексия.
к final методам и полям мы из наследника обраться может , переопределить не можем вот в чем дело , но если может обратиться к полям и методам родителя через обьект наследника , значит и final поля и методы наследуются пример:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class ExempleA {
    public final static int a = 5;
}
 
public class ExempleB extends ExempleA{
    
}
 
public class Test {
    public static void main(String[] args) throws IOException{
        ExempleB b= new ExempleB();
        int с = ExempleB.a(или b.a) + 5;
        
    }
}
обратите внимание обращаемся к полю а родительского класса А через обьект класса наследника , то есть класс наследник наследует final поле а.
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
15.06.2017, 14:46
zimovets_s, разберитесь с терминологией, со всем ООП, что есть наследование, что есть переопределение, что есть перегрузка и когда и что можно делать
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
17.06.2017, 18:20
Цитата Сообщение от zimovets_s Посмотреть сообщение
НЕ наследуется
Сначала надо разобраться что вы подразумеваете под наследуется

Добавлено через 15 секунд
Цитата Сообщение от zimovets_s Посмотреть сообщение
НЕ наследуется
Сначала надо разобраться что вы подразумеваете под наследуется
0
0 / 0 / 0
Регистрация: 10.01.2017
Сообщений: 33
18.06.2017, 16:38  [ТС]
Наследование передача характеристик (полей и методов) от класса родителя классу наследнику
0
33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 101
18.06.2017, 17:22
Лучший ответ Сообщение было отмечено zimovets_s как решение

Решение

Видите ли, наследуется всё. private поля и переменные тоже наследуются и будут работать.
Но private, protected, package и public - это модификаторы доступа и наследования они не касаются.

Но всё же. Я понял ваш вопрос.
Почитайте вот это о модификаторах доступа: http://javadevblog.com/modifik... -java.html

Ну и подумайте об этом:
Кликните здесь для просмотра всего текста
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
package a.b;
 
public class A {
    private int a;
    int b;
    protected int c;
    public int d;
    private void a() {
        System.out.println("a: " + a);
    }
    void b() {
        System.out.println("b: " + b);
    }
    protected void c() {
        System.out.println("c: " + c);
    }
    public void d() {
        System.out.println("d: " + d);
    }
    /*
    private class B {
        
    }
    class C {
        
    }
    protected class D {
        
    }
    */// Пока не будем об этом
}

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package c;
 
import a.b.A;
 
public class Abc extends A {
 
    public Abc(int i) {
        super(i);
//         Здесь a() недоступен, потому что он доступен только из super класса.
//         b() недоступен, потому что это другой пакет.
//         c() доступен, потому что Abc наследник класса A.
//         d() доступен, потому что он public и доступен везде.
 
//         Однако унаследованы все методы и доказательством этого является то, что
//         в конструкторе этого класса будут вызваны все 4 метода, которые используют все 4 значения.
    }
 
}


Можно рассматривать super класс, как переменную класса. Которая имеет тоже имя, что и объект этого класса и к которой переадресовываются вызовы некоторых функций. Таким образом в любом объекте класса-наследника есть полноценный объект super класса. Все части наследуемого класса с любыми модификаторами в нём присутствуют и работают так же, как и в обычном объекте этого класса.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.06.2017, 17:22
Помогаю со студенческими работами здесь

Наследование в Java
Привет, у меня постановка задачи следующая: есть Дом( вывести на экран год сооружения, количество этажей, материал) Подкласс должен быть...

Наследование в Java
Ребят можете объяснить почему в консоль выводит: "1 2", а не "2 2", или где можно про это прочитать? public class Class1 { ...

Наследование параметров Java
Добрый день! Вопрос, который бывалым, возможно, покажется странным. Можно ли в производном классе Java унаследовать структуру...

Java наследование и полиморфизм
Определить иерархию амуниции рыцаря. Экипировать рыцаря. посчитать стоимость амуниции. Провести сортировку амуниции по весу. Найти...

Задача на наследование по Java
Здравствуйте. Помогите пожалуйста решить вот такую задачу. Даны 2 класса Array.java(родительский класс) и Polynom.java(наследуемый класс)....


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru