2014-02-14 5 views
2

Есть ли разница между следующим? :Имеет ли смысл класс Java?

Пример 1:

public class OddEven { 

private static void OddEven() { 
    //some calculation. 
} 

public static void main(String[] args) { 
    OddEven(); 
} 
} 

Пример 2:

public class OddEven { 

private static void main(String[] args) { 
    OddEven(); 
} 

private static void OddEven() { 
    //some calculation. 
} 
} 

Причина, почему я спрашиваю, я всегда хожу с примером 2, положив Main первым. Хотя большинство примеров, которые я видел в Интернете, сначала ставили методы, прежде чем Main.

Я никогда не имел формальные уроки вычислений, и я прошу прощения, если это очевидный вопрос, но я хотел бы знать:

  • ли порядок расположения просто эстетика, или конвенции?
  • Имеет ли значение эффективность обработки и/или память?
  • Если это так, это экономия, наблюдаемая для всех языков программирования?

Спасибо за любую помощь по этой теме.

+0

Нет разницы с точки зрения памяти –

+0

нет никакой разницы с основной метод, вы можете использовать его в любом месте класса – Sathesh

+0

. Я предпочитаю статически статические методы/состояние, потому что поток кода более хронологический, то есть загрузчик классов сначала инициализирует статику. Затем, если создание экземпляра запускает конструктор, инициализаторы и т. Д. На уровне объекта. Смешение статического/объектного состояния делает класс более трудным для чтения и понимания, на мой взгляд. Если вы посмотрите на скомпилированный байт-код в декомпиляторе или получите методы и состояние через отражение, вы обнаружите, что независимо от порядка в исходном коде байт-код все перемешался и в другом, произвольном порядке , –

ответ

2

Порядок не имеет значения. Но есть общая вежливость публичным методам и статическим методам в начале класса. Это просто выбор разработчики

6

Нет, нет никакой разницы. Java не заботится о порядке объявления методов в классе.

+0

Это немного ярлык. Приказ имеет значение в некоторых случаях (но не в этом конкретном примере). – assylias

+0

@assylias: Вы имеете в виду, если декларация одного участника ссылается на другую? Это единственный случай, о котором я могу думать. – Keppil

+0

Да - порядок методов не имеет значения, но порядок членов вообще. – assylias

1

Нет, это не имеет значения, в каком порядке вы объявляете functions.It может быть удобней Для себя, чтобы сделать это в определенном порядке, но не для машины

1

Нет ява выполнение запуска программы из основного метода и порядка вызова функции не важна не Одер, в которых они определяют

Смежные вопросы