У «объекта расширения» есть цель или это избыточно? - PullRequest
24 голосов
/ 16 февраля 2010

После обучения в Интернете, посвященного разработке Soap с Java, я нашел эту ссылку , с довольно необычным для меня кодом.

Код:

public class SoapService extends Object {

    /** Creates new SoapService */
    public SoapService() {
    }

/** This is the SOAP exposes method
*/
    public String sayGreeting(String name)
    {
        return "Hello "+name;
    }
}

Что с синтаксисом extends Object? Я никогда не сталкивался с такого рода синтаксисом (только на Generics).

Имеет ли этот синтаксис какое-либо назначение или «просто тупой»?

Ответы [ 17 ]

1 голос
/ 10 ноября 2011

Есть одна возможность, и это человек, который сделал это, не хочет, чтобы вы продлевали какие-либо занятия.Конечно, вы всегда можете обойти это, но это единственное, что я могу придумать, что имеет смысл.

1 голос
/ 16 февраля 2010

Мой голос, просто тупой - но тогда я играю только с Java ...

Но любой класс наследует от класса объектов, насколько я знаю ...

1 голос
/ 16 февраля 2010

Это законно, но бесполезно. Все расширяет Object, поэтому языковая спецификация позволяет вам его опускать, и, как правило, его следует исключать (некоторые авторы стандартов кодирования не согласны).

Ситуация та же в универсальных (расширяет Object неявным и избыточным), просто по какой-то причине (я видел некоторые утверждения, что в ранних реализациях Generics были проблемы с подстановочным знаком?), Он получил немного больше есть.

0 голосов
/ 09 января 2017

все классы расширяют java.lang.Object по умолчанию. Вы можете видеть это здесь

0 голосов
/ 24 сентября 2015

Любой класс, который явно не расширяет другой класс, неявно расширяет Object

0 голосов
/ 18 сентября 2014

Поскольку Java является объектно-ориентированным языком, он поддерживает наследование, которое наследует свойства другого класса, например, все объекты Java наследуются от класса java.lang.Object. Из приведенного выше примера понятно, что это объяснение наследование. Обратите внимание, что все классы, независимо от того, указаны они или нет, будут наследоваться от java.lang.Object.

0 голосов
/ 29 июля 2011

Почему бы не сделать это явным?

Я за добавление - не все "неявно" знают, что каждый класс Java неявно расширяет Object. Написав это явно, они не должны догадываться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...