Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
 Re: Вот вам задачка не для собеседования  [new]
iJava
Member [заблокирован]

Откуда:
Сообщений: 48
Alexander A. Sak
iJava

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

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


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



как по мне блинов вопрос составил некоректно- я могу юзать и супер и зис в констукторе
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 косяков
что будт на сервлетах и жпа я боюсь представиить)
25 фев 20, 22:19    [22086865]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
Alexander A. Sak
Member

Откуда: Омск
Сообщений: 1085
Что значит "юзать"? В вопросе речь о "вызове". Ты можешь в конструкторе одновременно вызвать и this() и super()?

P.S. Вот почему не люблю читать доки на русском и никому не советую. Появляются лишние термины. Конгресс, немцы какие-то. Правда, Стас?
25 фев 20, 22:23    [22086867]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
iJava
Member [заблокирован]

Откуда:
Сообщений: 48
iOracleDev
mayton
Я в пятницу вам закину тему. Какраз на поспорить.

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

iJava

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

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

я прекрасно понимаю ,как работает джава и в частности как джава работает с памятью)
а вот некоторые судя по тебе до сих пор предаставляют себе это очень слабо)-но это нормально ,если профессоры универов пишу дичь в своих учебниках- что можно ожидать от их учеников- у нас на работе из опрощенных 20 джависов 20 ответили что объект передается по ссылке- ну это и не удивитильено их учили по блинову)
открываешь их код и у них метод возвращает null
25 фев 20, 22:25    [22086870]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
iJava
Member [заблокирован]

Откуда:
Сообщений: 48
Alexander A. Sak
Что значит "юзать"? В вопросе речь о "вызове". Ты можешь в конструкторе одновременно вызвать и this() и super()?

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

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

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

блинов в качестве верных ответов называет 3 4 и 5
в реальности правильные ответи 2 3 4 5 ибо ничто в джаве не мешает
@В конструкторе класса можно совместно использовать вызовы this и super.
25 фев 20, 22:32    [22086873]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
Alexander A. Sak
Member

Откуда: Омск
Сообщений: 1085
По-твоему конструкция вида this.id и super.id - это вызовы this и super?
25 фев 20, 22:38    [22086876]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
iJava
mayton
Я в пятницу вам закину тему. Какраз на поспорить.

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

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

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

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

Поэтому я - против. Но если тема pass-by-value тебе так интересна - то задай ее
в другой форме. Например в форме сравнения разных языков и платформ.
25 фев 20, 22:41    [22086878]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
iOracleDev
Member

Откуда:
Сообщений: 1029
iJava
я прекрасно понимаю ,как работает джава и в частности как джава работает с памятью)
а вот некоторые судя по тебе до сих пор предаставляют себе это очень слабо)-но это нормально ,если профессоры универов пишу дичь в своих учебниках- что можно ожидать от их учеников- у нас на работе из опрощенных 20 джависов 20 ответили что объект передается по ссылке- ну это и не удивитильено их учили по блинову)
открываешь их код и у них метод возвращает null

        System.out.println("a = " + a + ", b = " + b);
        swap(a, b);
        System.out.println("a = " + a + ", b = " + b);

результат
a = 5, b = 10
a = 10, b = 5
25 фев 20, 22:42    [22086879]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
iJava
Member [заблокирован]

Откуда:
Сообщений: 48
Alexander A. Sak
По-твоему конструкция вида this.id и super.id - это вызовы this и super?
где именно в вопросе ты это увидел?
я читаю вопрос
В конструкторе класса можно совместно использовать вызовы this и super.

где написано что это должно быть применено к однооименному полю?
вот тебе код
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;
    }
}

который отвечает утверждению - я совместно использую и супер и зис в конструкторе класса
25 фев 20, 22:42    [22086880]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
iJava
Member [заблокирован]

Откуда:
Сообщений: 48
mayton
iJava
пропущено...

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

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

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

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

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

эта тема интересна исключительно в контексте java
я тебе даю гарантию 99% местных не осознают что это такое и с чем его едят-это надо прочувствовать на своей шкуре с дебагером и попотеть пару недель чтобы уяснить иначе будет не понятно) так что создавай тему
25 фев 20, 22:46    [22086881]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
iOracleDev
Member

Откуда:
Сообщений: 1029
iJava
В конструкторе класса можно совместно использовать вызовы this и super.

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

Вопрос про вызовы конструкторов this() и super().
25 фев 20, 22:47    [22086882]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
iJava
Member [заблокирован]

Откуда:
Сообщений: 48
iOracleDev
iJava
В конструкторе класса можно совместно использовать вызовы this и super.

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

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

а это что по твоему?
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; 
    }
}
25 фев 20, 22:48    [22086883]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
Alexander A. Sak
Member

Откуда: Омск
Сообщений: 1085
Я уже который раз обращаю внимание на слово "вызов", ты же постоянно говоришь "использую".

В вопросе фигурирует слово "вызов". И как я понял Блинова, это означает именно конструкцию вида this() или super().
25 фев 20, 22:49    [22086884]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
iOracleDev
Member

Откуда:
Сообщений: 1029
iJava
    public SquareItem(int x, int y) {
        super(); 
        this(); 
    }

Вот про что вопрос, а то что ты нафантазировал никому не интересно.
25 фев 20, 22:51    [22086885]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
iOracleDev
Member

Откуда:
Сообщений: 1029
iJava
эта тема интересна исключительно в контексте java
я тебе даю гарантию 99% местных не осознают что это такое и с чем его едят-это надо прочувствовать на своей шкуре с дебагером и попотеть пару недель чтобы уяснить иначе будет не понятно) так что создавай тему

22086879, как так получилось не знаешь? именно об этом и писали в книжке ...
25 фев 20, 22:58    [22086886]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
iJava
Member [заблокирован]

Откуда:
Сообщений: 48
Alexander A. Sak
Я уже который раз обращаю внимание на слово "вызов", ты же постоянно говоришь "использую".

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

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


 использовать вызовы this и super.

я использую вызовы ,мне ничто не мешает это сделать
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) -тоесть по русски бы это звучало запрещено использовать супер и зис в чейне
25 фев 20, 23:15    [22086891]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
iJava
Member [заблокирован]

Откуда:
Сообщений: 48
iOracleDev
iJava
эта тема интересна исключительно в контексте java
я тебе даю гарантию 99% местных не осознают что это такое и с чем его едят-это надо прочувствовать на своей шкуре с дебагером и попотеть пару недель чтобы уяснить иначе будет не понятно) так что создавай тему

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

оракл уйди) ты в джаве нульпоинтер)
25 фев 20, 23:16    [22086892]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 27661
iOracleDev
iJava
    public SquareItem(int x, int y) {
        super(); 
        this(); 
    }


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

+1
26 фев 20, 03:54    [22086949]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
Alexander A. Sak
Member

Откуда: Омск
Сообщений: 1085
Ну совсем-то Блинова идиотом не надо считать. У него в примерах показано одновременной использование super и this.
// # 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
Переключайся на что-нибудь другое. Все уже поняли, что тут ты не прав.
26 фев 20, 07:35    [22086981]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10009
iJava
Блинов
Выберите правильные утверждения (3):
1) Класс может быть использован в качестве суперкласса для себя самого.
2) В конструкторе класса можно совместно использовать вызовы this и super.
3) Статические методы можно определять в подклассах с той же сигнатурой,
что и в базовом классе.
4) Статические методы можно перегружать в подклассах.
5) Динамическое связывание определяет версию вызываемого метода на этапе
выполнения.
блинов утверждает что верные оветы 3 4 5
я утверждаю что исходя из заданного вопроса верные ответы 2 3 4 5
Утверждение 4 - неверное: статический метод нельзя перекрыть - он "привязан" к типу и определение двух одноимённых статических методов в иерархии наследования создаёт два разных и никак не связанных между собой блока кода.
Именно по этой причине не надо выёживаться и всегда надо вызывать статический метод используя класс, а не экземпляр.
Поэтому - 2, 3 и 5.

Сообщение было отредактировано: 26 фев 20, 07:38
26 фев 20, 07:37    [22086982]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
iJava
я прекрасно понимаю ,как работает джава и в частности как джава работает с памятью)
а вот некоторые судя по тебе до сих пор предаставляют себе это очень слабо)

iJava
super.this(id)

Код приводи.
Опять забудешь кто выше первый это написал))
26 фев 20, 07:40    [22086983]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3531
Basil A. Sidorov
Утверждение 4 - неверное: статический метод нельзя перекрыть - он "привязан" к типу и определение двух одноимённых статических методов в иерархии наследования создаёт два разных и никак не связанных между собой блока кода
Все там правильно в п.4, просто читать литературу по ЯП на русском - дурной тон: в п.4 написано перегружать - это overload, а не override.
26 фев 20, 07:52    [22086986]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10009
Андрей Панфилов
Все там правильно в п.4, просто читать литературу по ЯП на русском - дурной тон: в п.4 написано перегружать - это overload, а не override.
1. Терминология должна существовать и на родном языке. Калька или стандартизированный перевод - вопрос отдельный.
2. Даже в рамках языка оригинала я всё равно не понимаю разницы между перегрузкой и перекрытием для ситуации, когда вызов метода делается в привязке к типу, статически определяемому на этапе компиляции:
Compile - PARENT, runtime - CHILD
I'm PARENT
+ предок-потомок
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"); };
}
26 фев 20, 08:04    [22086988]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3531
Basil A. Sidorov
не понимаю разницы между перегрузкой и перекрытием
перекрытие (overriding) - методы с одинаковым названием и сигнатурой, перегрузка (overloading) - методы с одинаковым названием и разной сигнатурой, первое для методов класса "не работает" (работает не так как для объектов), второе - вполне.
26 фев 20, 08:11    [22086993]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10009
Андрей Панфилов
перекрытие (overriding) - методы с одинаковым названием и сигнатурой, перегрузка (overloading) - методы с одинаковым названием и разной сигнатурой, первое для методов класса "не работает" (работает не так как для объектов), второе - вполне.
Да, теперь про разницу сигнатур я вспомнил.
Немного поэкспериментировал и понял, что жизнь сложнее, чем на первый взгляд.
Но с вызовом статических методов лучше, всё-таки, не выёживаться
26 фев 20, 08:26    [22086996]     Ответить | Цитировать Сообщить модератору
 Re: Вот вам задачка не для собеседования  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Для себя и для всех присутсвующих с любезного разрешения Oracle я копи-пащу фрагмент из The JavaLangSpec-13.

К сообщению приложен файл. Размер - 35Kb
26 фев 20, 12:10    [22087169]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
Все форумы / Java Ответить