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

Изменение метода вне класса, где он объявлен

30.07.2013, 21:20. Показов 2387. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Возникла такая проблема - есть метод (clickBlock), объявленный в класс PlayerControllerMP. Как в каком-нибудь другом классе изменить этот метод? (пишу мод под Minecraft. Надо изменить этот метод не влазя в исходник - PlayerControllerMP.java))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.07.2013, 21:20
Ответы с готовыми решениями:

Создание объекта класса вне юнита, где объявлен этот класс
Первый юнит (Core.cpp): //--------------------------------------------------------------------------- #pragma hdrstop #include...

Вызов constexpr метода, внутри класса в котором метод и объявлен
Есть статический constexpr метод. Есть статическая constexpr же константа, которая инициализируется этим самым методом. Ну или должна...

Как реализовать вне класса тело метода?
int &operator(int j){ if (n< j || j >= n) {cout << "\nIndex out of bounds"; Sleep(2000); exit(1);} return vec; } ...

12
169 / 66 / 15
Регистрация: 24.03.2013
Сообщений: 467
Записей в блоге: 1
30.07.2013, 21:54
Поскольку в Java все методы виртуальные - можно наследоваться от класса где этот метод лежит, и просто перееопределить.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
30.07.2013, 23:46
Цитата Сообщение от Almaz_1993 Посмотреть сообщение
можно наследоваться от класса где этот метод лежит, и просто перееопределить.
от класса final вы не унаследуетесь
0
 Аватар для Chevalier
2 / 2 / 0
Регистрация: 26.04.2013
Сообщений: 23
31.07.2013, 00:06
а если создать объект класса где надо и через него решить вопрос?
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
31.07.2013, 00:11
Цитата Сообщение от Chevalier Посмотреть сообщение
а если создать объект класса где надо и через него решить вопрос?
Ага, создайте свой System и подсуньте его java машине, ну же.
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
31.07.2013, 00:19
если надо что-то немного добавить можно написать адаптер
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
31.07.2013, 10:33
Цитата Сообщение от Gepar Посмотреть сообщение
Ага, создайте свой System и подсуньте его java машине, ну же.
это возможно, в виде эксперимента я так и делал )
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
01.08.2013, 02:31
mutagen, и как? Наверняка же ничего не заработало с ошибкой какой-то связанной с безопасностью
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
01.08.2013, 04:21
нет всё заработало , мне лень искать но гдето тут на форуме есть мой пост когда я помогал чуваку при вызове System.out.println("Hello"); вы вести вместо хелло на вывод Hello world Если не лень - поищи, увидишь реализацию )

сам нашёл ) Как заменить строку вывода на консоль во время выполнения?

как говорится вся сила в деталях )
1
Horo37
05.08.2013, 14:24
Заранее извенюсь если может вопрос не точно в тему ветки.
Хочу спросить у опытных специалистов по поводу одного маленького задания, на которое недавно напоролся...что бы много не говорить ... :

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
public class Test {
public static void main(String[] s) {
A a = new B();
a.b();
}
}
 
class A {
void a() {
System.out.println("A-a");
}
 
void b() {
System.out.println("A-b");
a();
}
}
 
class B extends A {
void a() {
System.out.println("B-a");
}
 
void b() {
System.out.println("B-b");
super.b();
}
}
И теперь вопрос : я понимаю почему программа выводит -
B-b
A-b,
но не могу ЧЕТКО для себя уснить логику, почему последня строка - B-a,а не А-а???

Буду признателен за исчерпывающий ответ.
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
05.08.2013, 23:29
Чёткая логика - если метод виртуальный(не final), то вызывается метод переопределенный в потомке.
0
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
08.08.2013, 07:53
сам себе противоречишь. какая у тебя последняя строка всё таки?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
08.08.2013, 11:09
http://asm.ow2.org/doc/faq.html#Q2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.08.2013, 11:09
Помогаю со студенческими работами здесь

Определение метода вне класса, как inline в многофайловом проекте
Здравствуйте! Помогите разобраться!) В общем имеется: ...

Изменение переменных вне класса
Суть проблемы: есть два класса. В родительском есть 2 переменных, в производном эти переменные изменяются. Вот только они не изменяются. ...

Где создавать потоки для выполнения метода класса?
Доброго времени суток! Не совсем владею материалом, (вернее, совсем не) поэтому могу написать ахинею. Тем не менее: У меня есть класс...

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

Полиморфизм: вызов метода базового класса, переопределенного метода и нового метода
В базовом классе метод помечен как virtual. Насколько я понял из книги: override означает, что метод не утрачивает связи с базовым...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru