powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Вот вам задачка не для собеседования
78 сообщений из 78, показаны все 4 страниц
Вот вам задачка не для собеседования
    #39928121
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создание кастомной анотации которая форматирует стринговое поле в соотсветсвии с патерном

дтошка
Код: java
1.
2.
3.
4.
public class User {
    @ContactNumberFormate
    private String phone;
}



интерфейс
Код: java
1.
2.
3.
4.
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ContactNumberFormate {
}



форматер

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
@Component
public class PhoneFormatter implements Formatter<User> {

    @Override
    public User parse(String phoneNum, Locale locale) throws ParseException {
        phoneNum = phoneNum.trim();
        String regex = "^\\(?(\\+*1)?[-.\\s*]?([0-9]{3})\\)?[-.\\s*]?([0-9]{3})[-.\\s*]?([0-9]{4})$";
        Pattern.compile(regex).matcher(phoneNum);

        User user = new User();
        user.setPhone(phoneNum);
        return user;
    }

    @Override
    public String print(User user, Locale locale) {
        return null;
    }
}



фабрика

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public class PhoneFormatAnnotationFormatterFactory implements 
           AnnotationFormatterFactory<ContactNumberFormate> {
    @Override
    public Set<Class<?>> getFieldTypes() {
        return Collections.singleton(String.class);
    }

    @Override
    public Printer<?> getPrinter(ContactNumberFormate contactNumberFormate, Class<?> aClass) {
        return new PhoneFormatter();
    }

    @Override
    public Parser<?> getParser(ContactNumberFormate contactNumberFormate, Class<?> aClass) {
        return new PhoneFormatter();
    }
}


форматрегистр
Код: java
1.
2.
3.
4.
5.
6.
public class ApplicationFormatterRegister implements FormatterRegistrar {
    @Override
    public void registerFormatters(FormatterRegistry formatterRegistry) {
        formatterRegistry.addFormatterForFieldAnnotation(new PhoneFormatAnnotationFormatterFactory());
    }
}


конфиг
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<mvc:annotation-driven conversion-service="conversionService"/>

<bean id="applicationConversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
    <property name="formatterRegistrars">
        <set>
            <ref bean="applicationFormatterRegistrar"/>
        </set>
    </property>
</bean>
<bean id="applicationFormatterRegistrar" class="ru.spb.dreamwhite.util.phoneUtil.ApplicationFormatterRegister"/>





проблема

And it does not work: phone-values saved in database, but in non-formatted form.

Note: when I run test in debug with breakpoint on PhoneFormatter, test passes susseccfully. That means, that my Formatter is out of process. But when I set breakpoint on PhoneFormatAnnotationFormatterFactory.getFieldTypes, test interrupted.

In particular, debug with breakpoint on return Collections.singleton(String.class); in

public Set<Class<?>> getFieldTypes() {
return Collections.singleton(String.class);
}
shows that the class PhoneFormatAnnotationFormatterFactory has no fields...
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928149
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем вопрос-то? В том что вопрошающий совершенно не осознает что делает? Formatter<T> в методе parse должен преобразовывать строку в T, а в методе print - T в строку, соответственно, AnnotationFormatterFactory должна регистрировать класс T, а аннотация шлепаться над полем с типом T.

iJava

In particular, debug with breakpoint on return Collections.singleton(String.class); in

public Set<Class<?>> getFieldTypes() {
return Collections.singleton(String.class);
}
shows that the class PhoneFormatAnnotationFormatterFactory has no fields...
Ну да, у PhoneFormatAnnotationFormatterFactory, внезапно, нет полей - это из кода видно
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928152
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Панфилов,
код не мой ,человек вопрошает просто- я таким не занимался никогда,вот решил может тут кто ответ знает
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928172
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
Андрей Панфилов,
код не мой ,человек вопрошает просто- я таким не занимался никогда,вот решил может тут кто ответ знает


В подобного рода задачах обычно нет готового рецепта. Даже стековерфлов решает частные случаи.
Я скажу что я пока не знаю как решать эту задачу. И думаю что решать ее можно разными способами.

Я-бы предложил Стас тебе не заниматься фишингом а попробовать разбить задачу на шаги.
И решать ее по мере поступления информации.

Для начала например почитать какой вообще есть API для работы с аннотациями. А потом по AOP.

Кстати совершенно зря и вбестолку здесь указаны Спринговые фабрики. Эта задача решаема и без Спринга.

Нужно просто иметь vision of next step.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928176
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эт че снова стасик? а ну окей, расходимся пока он тут всех не отчленососил в 100500-й раз.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928209
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
iJava
Андрей Панфилов,
код не мой ,человек вопрошает просто- я таким не занимался никогда,вот решил может тут кто ответ знает


В подобного рода задачах обычно нет готового рецепта. Даже стековерфлов решает частные случаи.
Я скажу что я пока не знаю как решать эту задачу. И думаю что решать ее можно разными способами.

Я-бы предложил Стас тебе не заниматься фишингом а попробовать разбить задачу на шаги.
И решать ее по мере поступления информации.

Для начала например почитать какой вообще есть API для работы с аннотациями. А потом по AOP.

Кстати совершенно зря и вбестолку здесь указаны Спринговые фабрики. Эта задача решаема и без Спринга.

Нужно просто иметь vision of next step.

я так понимаю у него в проекте спринг - поэтому спринг необходим
но так на вскидку понятно что ничего у него там не работает )
я вообще если четно не пойму зачем анотация сдалась- создай метод в который ты свой юзер отдал а получил с полем отформатированным-какие то фабрики в 2020 году ...
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928362
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,ради интереса решил дома сделать что то на подобии ,только по упрощеной схеме по примеру
удивительно,но анотация вообще не подхватывалась- тоесть по дебагу смотришь заходит параметр в метод с этой -анотацию игноририует ,но отрабатывает без ошибок
код былл что то типо такого

static String (@FormatterString("##-##-##-##")String value){
return value;}
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928372
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чел я без исходников не отстреливаю ни дупля.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928430
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я чот не въехал аннотация должна менять по какой то логике значение поля. окей. я вот думал это для другого. ну снова океееей. как это сделать? ну я бы заюзал рефлексию. через какой-нибудь процессор выхватывал бы аннотации потом поля которые аннотированы и обновлял бы им значения. но это честно говоря говно. а чо можно как то иначе?
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928536
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreykaT,

тут вопрос больше нахуа оно ? если все это делает утилита из 1 строчки кода
тоесть городить огород из 2-3 классов,какие то фабрики ,какие то бины
когда это в одну строчку статик метода можно сделаать)

вот такие у людей упоротые тим лиды бывают
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928539
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на каком этапе она должна "форматировать"?

На присвоении? А как процессить невалидные? На доступе? А как отдавать если невалидное было записано?

Тут - хромают контракты. Я думаю что нет смысла даже начинать работу пока не будет понятен юзкейс
и не будут поняты все варианты исключительных ситуаций.

А если 10 разработчиков реализуют это задание 10 разными (разными! сцуко) способами - то задание
плохое. Неоднозначное и его просто делать нельзя. Его надо грумить и проговаривать.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928552
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,
согласен на все 100
если например в метод в качестве параметра прилетит стринг с длинной больше или меньше допустимой то тогда что? нужно как то предусмотреть и этот механизм
вообщем и целом -сама задача поставлена технически безграмонтым человеком,который каким то образом стал тим лидом и мучает людей в своей фирме своей тупостью,причем настолько что его подчиненные уже денег готовы заплатить,лишь бы этот самодур увидел эту анотацию)))
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928588
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот поэтому ентерпрайз говно. Все эти аннотации превращают Java в нетипобезопасный аналог javascript, при том еще невозможно продебажить
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928600
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странные и ничем не обоснованные выводы:
о энтерпрайзе
о самодурстве анотации
рассуждение о плохом ТЗ которого никто даже не видел

предложение делать форматирование "одной строчкой в статик методе" вообще за гранью добра и зла (в нормальном энтерпрайзе сотни таблиц/объектов и тысячи-десятки тысяч полей)

Вообще понять, что делает процетированный код - мне не дано. Даже представить, что по мнению авторов должен делать класс PhoneFormatter и почему он так называется я не могу.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928607
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
mayton,
согласен на все 100
если например в метод в качестве параметра прилетит стринг с длинной больше или меньше допустимой то тогда что? нужно как то предусмотреть и этот механизм
вообщем и целом -сама задача поставлена технически безграмонтым человеком,который каким то образом стал тим лидом и мучает людей в своей фирме своей тупостью,причем настолько что его подчиненные уже денег готовы заплатить,лишь бы этот самодур увидел эту анотацию)))

Удивительно...

В ASP.NET Core MVC есть встроенные атрибуты проверки модели,
в том числе и [StringLength], что проверяет, что значение свойства строки не превышает ограничение по указанной длине.

И до фига народу пользуется и не считают это самодурством.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
public class Movie
{
    public int Id { get; set; }

    [Required]
    [StringLength(100)]
    public string Title { get; set; }

    [ClassicMovie(1960)]
    [DataType(DataType.Date)]
    [Display(Name = "Release Date")]
    public DateTime ReleaseDate { get; set; }

    [Required]
    [StringLength(1000)]
    public string Description { get; set; }

    [Range(0, 999.99)]
    public decimal Price { get; set; }

    public Genre Genre { get; set; }

    public bool Preorder { get; set; }
}


Но Стасу-то конечно виднее
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928611
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
Ну вот поэтому ентерпрайз говно. Все эти аннотации превращают Java в нетипобезопасный аналог javascript, при том еще невозможно продебажить

Есть где-то юмористический пост на тему того почему языку LISP не нужны аннотации. Не нужны вообще.

Вот а если по сути - то аннотации не плохие и не хорошие. Это просто некое расширение синтаксиса тегами.
Что-то вроде мета-программирования. К сожалению его единственное ценное использование что я видел
это декларативное связывание сущностей мира БД с объектами (JPA).

Всё остально - это онанизм и плавный уход от классического программирования в программирование только
фреймворков. Доходит до смешного. SpringBoot разработчики уже не умеют на Java. Они уже мыслят
в категории SB-сущностей и решают задачи только в этом контексте. Попытка попросить их написать
что-то вне рамках SB - вызовет злые слёзы и истерику скорее всего. Поэтому пожалеем их.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928615
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да причем тут анотации? Кто нибудь может внятно объяснить:
1) что должен делать класс PhoneFormatter и почему он так называется
2) что делает метод parse данного класса, точнее строчка
Pattern.compile(regex).matcher(phoneNum);
почитал JavaDoc и у меня такое чувтсво. что данная строка вообще НИЧЕГО не делает.
3) занафига компилировать регэксп при каждом вызове (Pattern.compile)? почему не сделать это один раз в конструкторе?
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928625
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
я чот не въехал аннотация должна менять по какой то логике значение поля
Аннотация ничего менять не должна - она просто в байткоде торчит и все. Речь идет про Spring ConversionService : не все же данные на фронт и обратно через JSON/XML шлют, а есть еще те кто пользуется всякими thymeleaf, freemarker и пр. и данные принимают через multipart/form-data, вот для них оно и предназначено, т.е. эти аннотации в конечном итоге использует шаблонизатор (например: https://github.com/thymeleaf/thymeleaf/issues/223) и контроллер, а проблема в том, что в код криво написан (типы не совпадают) и примера вызова всего этого дела нет.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39928629
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
andreykaT,

тут вопрос больше нахуа оно ? если все это делает утилита из 1 строчки кода
тоесть городить огород из 2-3 классов,какие то фабрики ,какие то бины
когда это в одну строчку статик метода можно сделаать)

вот такие у людей упоротые тим лиды бывают

ну как. декларативный стиль. по-сути аспект. когда то аоп был моден. но по ходу не очень взлетел когда поняли какие макароны намудили.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39929638
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA

Но Стасу-то конечно виднее

а при чем тут джава и твой недоязык)
и вообще я имел ввиду что имея такую простую задачу не нужно утежелчять проект бесполезными анотациями- достатточно утил класса с нужным методом ,вместо этих 5 - а делать будет тоже самое)
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39929734
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтобы не создавать отдельную тему запостю здесь прикол

все тот же блинов в своей книге утверждает что в конструкторе класса нельзя использвать this и super что наводит меня на мысль,что у него биполярное расстройство

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class Item {
   int x;

    public Item(int x) {
        this.x = x;
    }
}

public class SquareItem  extends Item{
    int y;

    public SquareItem(int x, int y) {
        super(x);
        this.y = y;
    }
}



что вы скажите по этому воводу?
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39929737
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev
предложение делать форматирование "одной строчкой в статик методе" вообще за гранью добра и зла (в нормальном энтерпрайзе сотни таблиц/объектов и тысячи-десятки тысяч полей)

Интересно а что мешает ?у нас проект сотни тысяч классов,поля мы не считали),на каждый микросервис есть свои классы утилит
есть отдельный микросервис каффка комонс ,который динамически обновляется на всю структуру микросервисную
вы видимо давно не заглядывали в энтерпрайз
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39929845
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
микросервис каффка комонс


спасибо, это было очень смешно))))))
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39929861
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
Leonid Kudryavtsev
предложение делать форматирование "одной строчкой в статик методе" вообще за гранью добра и зла (в нормальном энтерпрайзе сотни таблиц/объектов и тысячи-десятки тысяч полей)

Интересно а что мешает ?у нас проект сотни тысяч классов,поля мы не считали),на каждый микросервис есть свои классы утилит
есть отдельный микросервис каффка комонс ,который динамически обновляется на всю структуру микросервисную
вы видимо давно не заглядывали в энтерпрайз

это какой то поток рандомных слов.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930074
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fixxer
iJava
микросервис каффка комонс


спасибо, это было очень смешно))))))

интересно что тут смешного)
на этой архитерктуре работает добрый десяток русиш банков))
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930075
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreykaT
iJava
пропущено...

Интересно а что мешает ?у нас проект сотни тысяч классов,поля мы не считали),на каждый микросервис есть свои классы утилит
есть отдельный микросервис каффка комонс ,который динамически обновляется на всю структуру микросервисную
вы видимо давно не заглядывали в энтерпрайз

это какой то поток рандомных слов.

если вы программист то конкретизируйте ,что у вас вызывает возмущение- покамест ваш комент - просто офф топ флуд
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930079
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iJava
Чтобы не создавать отдельную тему запостю здесь прикол

все тот же блинов в своей книге утверждает что в конструкторе класса нельзя использвать this и super что наводит меня на мысль,что у него биполярное расстройство

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class Item {
   int x;

    public Item(int x) {
        this.x = x;
    }
}

public class SquareItem  extends Item{
    int y;

    public SquareItem(int x, int y) {
        super(x);
        this.y = y;
    }
}



что вы скажите по этому воводу?


очень интересно ,что скажут местные эксперты по этому поводу))
видимо всем пох что студни по этой книге участся и там процентов 30 какой то дичи на подобии этой
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930093
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
super() - это единственный способ вызвать конструктор родителя явно.

Но мне кажется что мы обсуждаем не оригинальную постановку. А уже интерпретированную.
И дополненную вобщем-то частным мнением и эмоциями.

Если использовать композицию и сделать так
Код: java
1.
2.
3.
4.
5.
6.
7.
pubic class SquareItem {

   private Item item;

   ......

}


Тогда можно конструировать объекты независимо и супер-конструктор не нужен.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930126
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
код не мой ,человек вопрошает просто

прекрати заглядывать везде через плечо.
Займись делом.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930265
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
iJava
Чтобы не создавать отдельную тему запостю здесь прикол

все тот же блинов в своей книге утверждает что в конструкторе класса нельзя использвать this и super что наводит меня на мысль,что у него биполярное расстройство

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class Item {
   int x;

    public Item(int x) {
        this.x = x;
    }
}

public class SquareItem  extends Item{
    int y;

    public SquareItem(int x, int y) {
        super(x);
        this.y = y;
    }
}



что вы скажите по этому воводу?


очень интересно ,что скажут местные эксперты по этому поводу))
видимо всем пох что студни по этой книге участся и там процентов 30 какой то дичи на подобии этой

Скорее всего Блинов имеет ввиду что нельзя одновременно использовать цепочку вызовов конструкторов (this) и вызов родительского конструктора (super). Ну что тут скажешь Блинов прав.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930282
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vas0
iJava
пропущено...


очень интересно ,что скажут местные эксперты по этому поводу))
видимо всем пох что студни по этой книге участся и там процентов 30 какой то дичи на подобии этой

Скорее всего Блинов имеет ввиду что нельзя одновременно использовать цепочку вызовов конструкторов (this) и вызов родительского конструктора (super). Ну что тут скажешь Блинов прав.

не знаю что конкретно блинов в виду имел,но у него вопрос - такой возможно ли в конструкторе одновременное использование супер и зис- и ответ нет
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930299
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
vas0
пропущено...

Скорее всего Блинов имеет ввиду что нельзя одновременно использовать цепочку вызовов конструкторов (this) и вызов родительского конструктора (super). Ну что тут скажешь Блинов прав.

не знаю что конкретно блинов в виду имел,но у него вопрос - такой возможно ли в конструкторе одновременное использование супер и зис- и ответ нет

Код: 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.
public class A extends SomeClass {
    int x;
    int y;
    int z;

    public A() {
        this(0);
    }

    public A(int x) {
        this (x, 0);
    }

    public A(int x, int y) {
        // одновременное использование this и super, почему нет, фигли там ...
        super().this(x, y, 0);
    }

    public A(int x, int y, int z) {
        this.x = x;
        this.y = y;
        this.z = z;
    }
}
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930421
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
super() - это единственный способ вызвать конструктор родителя явно.

Но мне кажется что мы обсуждаем не оригинальную постановку. А уже интерпретированную.
И дополненную вобщем-то частным мнением и эмоциями.

Если использовать композицию и сделать так
Код: java
1.
2.
3.
4.
5.
6.
7.
pubic class SquareItem {

   private Item item;

   ......

}



вот оригиналный текст вопроса и варианты ответа-2й ответ неправильный ,по мнению блинова
Тогда можно конструировать объекты независимо и супер-конструктор не нужен.


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
Выберите правильные утверждения (3):
1) Класс может быть использован в качестве суперкласса для себя самого.
2) В конструкторе класса можно совместно использовать вызовы this и super.
3) Статические методы можно определять в подклассах с той же сигнатурой,
что и в базовом классе.
4) Статические методы можно перегружать в подклассах.
5) Динамическое связывание определяет версию вызываемого метода на этапе
выполнения.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930440
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стас. Что это за викторина такая? Или телешоу.

Для меня такой формат или формат экзамена или тестов вообще неинтересен.
Я - сторонник дискурса. А не гос-экзамена.

Поэтому адресуй свой вопрос всем кто желает ответить.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930453
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,
я тебе просто привел пример- некорректный вопрос,ведь по сути я могу использовать как супер так и зис в конструкторе
да бог с ним с этим блиновым,косяки у всех бывают.

У меня сейчас вопрос такой интересный возник -насколько оправданым будет использование кафки при написании телеграм бота
архитектура бота обычная для ботов-
телеграм апи- сервис слой -база данных
нужен ли в этой прослойке менеджер очередей?
насколько я понимаю все это происходит на стороне телеграм апи-тоесть во первых поддерживается некая скорость сообщений( помоему не больше 20 в минуту от отдного юзера) во вторых сообщения не пропадут
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930458
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Стас. Что это за викторина такая? Или телешоу.
)
Он явно в архитекторы метит. Пропустив экстерном программирование, субд и коммуникации между людьми.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930467
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
mayton,
я тебе просто привел пример- некорректный вопрос,ведь по сути я могу использовать как супер так и зис в конструкторе
да бог с ним с этим блиновым,косяки у всех бывают.

У меня сейчас вопрос такой интересный возник -насколько оправданым будет использование кафки при написании телеграм бота
архитектура бота обычная для ботов-
телеграм апи- сервис слой -база данных
нужен ли в этой прослойке менеджер очередей?
насколько я понимаю все это происходит на стороне телеграм апи-тоесть во первых поддерживается некая скорость сообщений( помоему не больше 20 в минуту от отдного юзера) во вторых сообщения не пропадут

Я думаю что среди архитекторов нет черных или белых магов. И никто на уровне экспертизы не ответит на твой
вопрос со 100% точностью.

Разумным будет начать проектировать бота без очередей. А когда будет потребность - спокойно ее добавить.
Это не будет сложно.

Вообще. Итеративная разработка - это нормально. Это как испытания ракет и самолётов в космосе и авиации.
Никто не знает как полетит ракета до того как полетит ее макет в аэро-трубе. Потом полетит болванка с манекеном.
И уже в самом конце полетит человек.

Поскольку аэро-космос считает нормальным проведение испытаний (и даже с потерями) я считаю нормальным
запускать альфу проекта без овер-инжинеринга. В любом случае если проект будет проще - тебе будет проще
его поддерживать и развивать. Принципы KISS/YAGNI все еще актуальны.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930469
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,тоже так думаю- что смысла кафку пока нет.
я уверен что все это реализовано на стороне телеграм апи-иначе бы их месенжер бы тупо упал и никогда не поднялся,для это у ботов насколько я помню существует ограничения на количество меседжей .
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930486
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
mayton,
я тебе просто привел пример- некорректный вопрос,ведь по сути я могу использовать как супер так и зис в конструкторе
да бог с ним с этим блиновым,косяки у всех бывают.

У меня сейчас вопрос такой интересный возник -насколько оправданым будет использование кафки при написании телеграм бота
архитектура бота обычная для ботов-
телеграм апи- сервис слой -база данных
нужен ли в этой прослойке менеджер очередей?
насколько я понимаю все это происходит на стороне телеграм апи-тоесть во первых поддерживается некая скорость сообщений( помоему не больше 20 в минуту от отдного юзера) во вторых сообщения не пропадут

чтоб ответить на этот вопрос - тебе во-первых надо понять зачем кафка нужна и во-вторых, прочесть книгу интеграционные шаблоны. грегор хоп вроде автор. их (шаблонов) кстати, не много - всего 4. вторую для разнообразия - ивент дривен аркитекча (ой что щас начнется).

если вкратце ответ - можно написать телебота вокруг кафки вопрос только набуя.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930496
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Угу. Уже видели как он книжки читает. Споря с автором книги в каждой фразе.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930539
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava

вот оригиналный текст вопроса и варианты ответа-2й ответ неправильный ,по мнению блинова
Тогда можно конструировать объекты независимо и супер-конструктор не нужен.


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
Выберите правильные утверждения (3):
1) Класс может быть использован в качестве суперкласса для себя самого.
2) В конструкторе класса можно совместно использовать вызовы this и super.
3) Статические методы можно определять в подклассах с той же сигнатурой,
что и в базовом классе.
4) Статические методы можно перегружать в подклассах.
5) Динамическое связывание определяет версию вызываемого метода на этапе
выполнения.



И какие по мнению гуру тут правильные утверждения? Чтобы понять кто сел в лужу: некто Стас или некто Блинов.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930612
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
Угу. Уже видели как он книжки читает. Споря с автором книги в каждой фразе.

ну это да. если особо он начнет спорить с боф или мартином или тем бедолагой грегором хопом.
да и спорить можно по-всякому, например оспаривать какое то утверждение обосновывая чем-то или просто говорить что я молодец а автор идиот. )
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930632
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в пятницу вам закину тему. Какраз на поспорить.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930774
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander A. Sak
iJava

вот оригиналный текст вопроса и варианты ответа-2й ответ неправильный ,по мнению блинова
Тогда можно конструировать объекты независимо и супер-конструктор не нужен.


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
Выберите правильные утверждения (3):
1) Класс может быть использован в качестве суперкласса для себя самого.
2) В конструкторе класса можно совместно использовать вызовы this и super.
3) Статические методы можно определять в подклассах с той же сигнатурой,
что и в базовом классе.
4) Статические методы можно перегружать в подклассах.
5) Динамическое связывание определяет версию вызываемого метода на этапе
выполнения.



И какие по мнению гуру тут правильные утверждения? Чтобы понять кто сел в лужу: некто Стас или некто Блинов.

блинов утверждает что верные оветы 3 4 5
я утверждаю что исходя из заданного вопроса верные ответы 2 3 4 5
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930777
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Я в пятницу вам закину тему. Какраз на поспорить.

я тебе тоже закину) у меня тут пара интересных тем есть)
причем классик джава ,а не всякое говно типо кафки)
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930779
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Я в пятницу вам закину тему. Какраз на поспорить.

давай тему java always pass by value
тут 99% считают что по ссылке- я тебе гарантирую холивар на 100 страниц)

пс. это очень не очевидно для не джавистов- всяких шарпистов,пхпистов и прочий мусор современной IT индустриии
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930783
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
mayton
Я в пятницу вам закину тему. Какраз на поспорить.

давай тему java always pass by value
тут 99% считают что по ссылке- я тебе гарантирую холивар на 100 страниц)

пс. это очень не очевидно для не джавистов- всяких шарпистов,пхпистов и прочий мусор современной IT индустриии

а с чего ты решил что пхписты и шарписты это мусор а жависты нет?
жава на сегодня один из самых отсталых языков и устаревших. а ты его обожествляешь да еще и учить пытаешься.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930784
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreykaT
iJava
пропущено...

давай тему java always pass by value
тут 99% считают что по ссылке- я тебе гарантирую холивар на 100 страниц)

пс. это очень не очевидно для не джавистов- всяких шарпистов,пхпистов и прочий мусор современной IT индустриии

а с чего ты решил что пхписты и шарписты это мусор а жависты нет?
жава на сегодня один из самых отсталых языков и устаревших. а ты его обожествляешь да еще и учить пытаешься.

это была хорошая шутка(нет)

весь энтерпрайз на джаве,мы сейчас пилим для 5 топ банков все на джаве.
сбер банк вообще на 5й джаве
о чем ты говоришь вообще?
все твои гоу ,котлиты,скалы и прочая мудотень сольются прежде чем топы на 1.8 перейдут)))
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930790
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
Выберите правильные утверждения (3):
1) Класс может быть использован в качестве суперкласса для себя самого.
2) В конструкторе класса можно совместно использовать вызовы this и super.
3) Статические методы можно определять в подклассах с той же сигнатурой,
что и в базовом классе.
4) Статические методы можно перегружать в подклассах.
5) Динамическое связывание определяет версию вызываемого метода на этапе
выполнения.


блинов утверждает что верные оветы 3 4 5
я утверждаю что исходя из заданного вопроса верные ответы 2 3 4 5


Скачал произведение Блинова с этим заданием.
Подозреваю, что когда речь идет о "вызове this и super", имеется в виду конструкции this() и super() . Вызовы конструктора то есть.
Если бы имелись в виду конструкции вида this.field1 и super.getField2() , то наверное это бы назвали как-то вроде "использование ссылки". Есть там такие обороты в тексте.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930791
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я в пятницу вам закину тему. Какраз на поспорить.

Боюсь и новый аккаунт Стаса до пятницы не доживет))

iJava

давай тему java always pass by value
тут 99% считают что по ссылке- я тебе гарантирую холивар на 100 страниц)

Ты так и не понял о чем было написано в книжке, тебе же расшифровывали, попробуй написать функцию swap может поймешь наконец о чем там написано.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930795
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander A. Sak
iJava

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
Выберите правильные утверждения (3):
1) Класс может быть использован в качестве суперкласса для себя самого.
2) В конструкторе класса можно совместно использовать вызовы this и super.
3) Статические методы можно определять в подклассах с той же сигнатурой,
что и в базовом классе.
4) Статические методы можно перегружать в подклассах.
5) Динамическое связывание определяет версию вызываемого метода на этапе
выполнения.


блинов утверждает что верные оветы 3 4 5
я утверждаю что исходя из заданного вопроса верные ответы 2 3 4 5


Скачал произведение Блинова с этим заданием.
Подозреваю, что когда речь идет о "вызове this и super", имеется в виду конструкции this() и super() . Вызовы конструктора то есть.
Если бы имелись в виду конструкции вида this.field1 и super.getField2() , то наверное это бы назвали как-то вроде "использование ссылки". Есть там такие обороты в тексте.



как по мне блинов вопрос составил некоректно- я могу юзать и супер и зис в констукторе
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class Item {
   int x;

    public Item(int x) {
        this.x = x;
    }
}

public class SquareItem  extends Item{
    int y;

    public SquareItem(int x, int y) {
        super(x);
        this.y = y;
    }
}



пс. вы погодите это же только фундаментальная джава,на 130 страницах я нашел уже больще 10 косяков
что будт на сервлетах и жпа я боюсь представиить)
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930797
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "юзать"? В вопросе речь о "вызове". Ты можешь в конструкторе одновременно вызвать и this() и super()?

P.S. Вот почему не люблю читать доки на русском и никому не советую. Появляются лишние термины. Конгресс, немцы какие-то. Правда, Стас?
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930800
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDev
mayton
Я в пятницу вам закину тему. Какраз на поспорить.

Боюсь и новый аккаунт Стаса до пятницы не доживет))

iJava

давай тему java always pass by value
тут 99% считают что по ссылке- я тебе гарантирую холивар на 100 страниц)

Ты так и не понял о чем было написано в книжке, тебе же расшифровывали, попробуй написать функцию swap может поймешь наконец о чем там написано.

я прекрасно понимаю ,как работает джава и в частности как джава работает с памятью)
а вот некоторые судя по тебе до сих пор предаставляют себе это очень слабо)-но это нормально ,если профессоры универов пишу дичь в своих учебниках- что можно ожидать от их учеников- у нас на работе из опрощенных 20 джависов 20 ответили что объект передается по ссылке- ну это и не удивитильено их учили по блинову)
открываешь их код и у них метод возвращает null
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930802
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander A. Sak
Что значит "юзать"? В вопросе речь о "вызове". Ты можешь в конструкторе одновременно вызвать и this() и super()?

P.S. Вот почему не люблю читать доки на русском и никому не советую. Появляются лишние термины. Конгресс, немцы какие-то. Правда, Стас?

изучил инглишь,но не понимаешь сурджик?

еще раз тебе продублирую ворпос блинова
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
Выберите правильные утверждения (3):
1) Класс может быть использован в качестве суперкласса для себя самого.
2) В конструкторе класса можно совместно использовать вызовы this и super.
3) Статические методы можно определять в подклассах с той же сигнатурой,
что и в базовом классе.
4) Статические методы можно перегружать в подклассах.
5) Динамическое связывание определяет версию вызываемого метода на этапе
выполнения.


блинов в качестве верных ответов называет 3 4 и 5
в реальности правильные ответи 2 3 4 5 ибо ничто в джаве не мешает
@В конструкторе класса можно совместно использовать вызовы this и super.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930803
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-твоему конструкция вида this.id и super.id - это вызовы this и super ?
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930805
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
mayton
Я в пятницу вам закину тему. Какраз на поспорить.

давай тему java always pass by value
тут 99% считают что по ссылке- я тебе гарантирую холивар на 100 страниц)

пс. это очень не очевидно для не джавистов- всяких шарпистов,пхпистов и прочий мусор современной IT индустриии

Как по мне - неинтересно. И холивара не будет.
Я помню этот спор. Там не было истины. Там было просто
непонимание контекста спора и терминологии. Вобщем
там - спорили слепой с глухим.

Я пережил много холиваров. И я убежден что в них никто не ищет истины а прото
кидают навоз на турбину.

Поэтому я - против. Но если тема pass-by-value тебе так интересна - то задай ее
в другой форме. Например в форме сравнения разных языков и платформ.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930806
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
я прекрасно понимаю ,как работает джава и в частности как джава работает с памятью)
а вот некоторые судя по тебе до сих пор предаставляют себе это очень слабо)-но это нормально ,если профессоры универов пишу дичь в своих учебниках- что можно ожидать от их учеников- у нас на работе из опрощенных 20 джависов 20 ответили что объект передается по ссылке- ну это и не удивитильено их учили по блинову)
открываешь их код и у них метод возвращает null

Код: java
1.
2.
3.
        System.out.println("a = " + a + ", b = " + b);
        swap(a, b);
        System.out.println("a = " + a + ", b = " + b);


результат
Код: java
1.
2.
a = 5, b = 10
a = 10, b = 5
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930807
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander A. Sak
По-твоему конструкция вида this.id и super.id - это вызовы this и super ?
где именно в вопросе ты это увидел?
я читаю вопрос
Код: java
1.
В конструкторе класса можно совместно использовать вызовы this и super.


где написано что это должно быть применено к однооименному полю?
вот тебе код
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class Item {
   int x;

    public Item(int x) {
        this.x = x;
    }
}

public class SquareItem  extends Item{
    int y;

    public SquareItem(int x, int y) {
        super(x);
        this.y = y;
    }
}


который отвечает утверждению - я совместно использую и супер и зис в конструкторе класса
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930808
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
iJava
пропущено...

давай тему java always pass by value
тут 99% считают что по ссылке- я тебе гарантирую холивар на 100 страниц)

пс. это очень не очевидно для не джавистов- всяких шарпистов,пхпистов и прочий мусор современной IT индустриии

Как по мне - неинтересно. И холивара не будет.
Я помню этот спор. Там не было истины. Там было просто
непонимание контекста спора и терминологии. Вобщем
там - спорили слепой с глухим.

Я пережил много холиваров. И я убежден что в них никто не ищет истины а прото
кидают навоз на турбину.

Поэтому я - против. Но если тема pass-by-value тебе так интересна - то задай ее
в другой форме. Например в форме сравнения разных языков и платформ.

эта тема интересна исключительно в контексте java
я тебе даю гарантию 99% местных не осознают что это такое и с чем его едят-это надо прочувствовать на своей шкуре с дебагером и попотеть пару недель чтобы уяснить иначе будет не понятно) так что создавай тему
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930809
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
Код: java
1.
В конструкторе класса можно совместно использовать вызовы this и super.


где написано что это должно быть применено к однооименному полю?

Вопрос про вызовы конструкторов this() и super().
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930810
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDev
iJava
Код: java
1.
В конструкторе класса можно совместно использовать вызовы this и super.


где написано что это должно быть применено к однооименному полю?

Вопрос про вызовы конструкторов this() и super().

а это что по твоему?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class Item {
   int x;

    public Item(int x) {
        this.x = x;
    }
}

public class SquareItem  extends Item{
    int y;

    public SquareItem(int x, int y) {
        super(x); 
        this.y = y; 
    }
}
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930811
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уже который раз обращаю внимание на слово "вызов", ты же постоянно говоришь "использую".

В вопросе фигурирует слово "вызов". И как я понял Блинова, это означает именно конструкцию вида this() или super().
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930812
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
Код: java
1.
2.
3.
4.
    public SquareItem(int x, int y) {
        super(); 
        this(); 
    }


Вот про что вопрос, а то что ты нафантазировал никому не интересно.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930813
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
эта тема интересна исключительно в контексте java
я тебе даю гарантию 99% местных не осознают что это такое и с чем его едят-это надо прочувствовать на своей шкуре с дебагером и попотеть пару недель чтобы уяснить иначе будет не понятно) так что создавай тему

22086879 , как так получилось не знаешь? именно об этом и писали в книжке ...
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930817
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander A. Sak
Я уже который раз обращаю внимание на слово "вызов", ты же постоянно говоришь "использую".

В вопросе фигурирует слово "вызов". И как я понял Блинова, это означает именно конструкцию вида this() или super().

еще раз прочитайте оригинал вопроса


Код: java
1.
 использовать вызовы this и super.


я использую вызовы ,мне ничто не мешает это сделать
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class Item {
   int x;

    public Item(int x) {
        this.x = x;
    }
}

public class SquareItem  extends Item{
    int y;

    public SquareItem(int x, int y) {
        super(x);
        this.y = y;
    }
}



я так понимаю что блинов имел ввиду нельзя делать так super.this(id) -тоесть по русски бы это звучало запрещено использовать супер и зис в чейне
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930818
iJava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDev
iJava
эта тема интересна исключительно в контексте java
я тебе даю гарантию 99% местных не осознают что это такое и с чем его едят-это надо прочувствовать на своей шкуре с дебагером и попотеть пару недель чтобы уяснить иначе будет не понятно) так что создавай тему

22086879 , как так получилось не знаешь? именно об этом и писали в книжке ...

оракл уйди) ты в джаве нульпоинтер)
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930851
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDev
iJava
Код: java
1.
2.
3.
4.
    public SquareItem(int x, int y) {
        super(); 
        this(); 
    }



Вот про что вопрос, а то что ты нафантазировал никому не интересно.

+1
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930874
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну совсем-то Блинова идиотом не надо считать. У него в примерах показано одновременной использование super и this.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
// # 5 # super и this в конструкторе # Point1D.java # Point2D.java # Point3D.java
package by.bsu.point;
public class Point2D extends Point1D {
   private int y;
   public Point2D(int x, int y) {
      super(x);
      this.y = y;
   }
}



Но речь-то о вызовах. Вызов - это только this() и super(), но никак не this.y и super.y
Переключайся на что-нибудь другое. Все уже поняли, что тут ты не прав.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930875
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
БлиновВыберите правильные утверждения (3):
1) Класс может быть использован в качестве суперкласса для себя самого.
2) В конструкторе класса можно совместно использовать вызовы this и super.
3) Статические методы можно определять в подклассах с той же сигнатурой,
что и в базовом классе.
4) Статические методы можно перегружать в подклассах.
5) Динамическое связывание определяет версию вызываемого метода на этапе
выполнения.
блинов утверждает что верные оветы 3 4 5
я утверждаю что исходя из заданного вопроса верные ответы 2 3 4 5Утверждение 4 - неверное: статический метод нельзя перекрыть - он "привязан" к типу и определение двух одноимённых статических методов в иерархии наследования создаёт два разных и никак не связанных между собой блока кода.
Именно по этой причине не надо выёживаться и всегда надо вызывать статический метод используя класс, а не экземпляр.
Поэтому - 2, 3 и 5.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930876
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iJava
я прекрасно понимаю ,как работает джава и в частности как джава работает с памятью)
а вот некоторые судя по тебе до сих пор предаставляют себе это очень слабо)

iJava
super.this(id)

Код приводи.
Опять забудешь кто выше первый это написал))
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930878
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Утверждение 4 - неверное: статический метод нельзя перекрыть - он "привязан" к типу и определение двух одноимённых статических методов в иерархии наследования создаёт два разных и никак не связанных между собой блока кода
Все там правильно в п.4, просто читать литературу по ЯП на русском - дурной тон: в п.4 написано перегружать - это overload, а не override.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930880
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Все там правильно в п.4, просто читать литературу по ЯП на русском - дурной тон: в п.4 написано перегружать - это overload, а не override.
1. Терминология должна существовать и на родном языке. Калька или стандартизированный перевод - вопрос отдельный.
2. Даже в рамках языка оригинала я всё равно не понимаю разницы между перегрузкой и перекрытием для ситуации, когда вызов метода делается в привязке к типу, статически определяемому на этапе компиляции:
Код: plaintext
1.
Compile - PARENT, runtime - CHILD
 I'm PARENT
предок-потомок
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
package test;
class Test
{
  public static
  void main(String[] args)
  {
    TParent t = new TChild();
    System.out.println("Compile - PARENT, runtime - CHILD");
    t.test();
  }
}
class TParent
{
  static void test() { System.out.println(" I'm PARENT"); };
}
class TChild extends TParent
{
  static void test() { System.out.println(" I'm CHILD"); };
}

...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930884
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
не понимаю разницы между перегрузкой и перекрытием
перекрытие (overriding) - методы с одинаковым названием и сигнатурой, перегрузка (overloading) - методы с одинаковым названием и разной сигнатурой, первое для методов класса "не работает" (работает не так как для объектов), второе - вполне.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930885
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
перекрытие (overriding) - методы с одинаковым названием и сигнатурой, перегрузка (overloading) - методы с одинаковым названием и разной сигнатурой, первое для методов класса "не работает" (работает не так как для объектов), второе - вполне.
Да, теперь про разницу сигнатур я вспомнил.
Немного поэкспериментировал и понял, что жизнь сложнее, чем на первый взгляд.
Но с вызовом статических методов лучше, всё-таки, не выёживаться
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930997
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для себя и для всех присутсвующих с любезного разрешения Oracle я копи-пащу фрагмент из The JavaLangSpec-13.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39930999
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще страничка.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39931111
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
перекрытие (overriding) - методы с одинаковым названием и сигнатурой, перегрузка (overloading) - методы с одинаковым названием и разной сигнатурой, первое для методов класса "не работает" (работает не так как для объектов), второе - вполне.

Неправильный термин, перекрытие это сокрытие имени внешнего по отношению к блоку/объекту/классу внутренним именем, overriding - переопределение.
...
Рейтинг: 0 / 0
Вот вам задачка не для собеседования
    #39931370
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
3) Статические методы можно определять в подклассах с той же сигнатурой,
что и в базовом классе.
4) Статические методы можно перегружать в подклассах.


Хорошо путает следы)), то что описано в третьем пункте называется сокрытием или перекрытием (Hiding), то что описано в четвертом пункте называется Overloading (перегрузка), а еще есть переопределение - Overriding, так вот переопределение для статических методов запрещено.

Overriding and Hiding Methods
Defining a Method with the Same Signature as a Superclass's MethodSuperclass Instance MethodSuperclass Static MethodSubclass Instance Method Overrides Generates a compile-time errorSubclass Static Method Generates a compile-time error Hides
...
Рейтинг: 0 / 0
78 сообщений из 78, показаны все 4 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Вот вам задачка не для собеседования
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]