2013-12-12 4 views

ответ

5

Один из способов добиться этого в Java осуществляется через локальные классы, то есть классы, которые определены в объеме метода:

public double Hanoof(){ 

    class HanoMaker{ 

     public double Hano(){ 
      // do stuff here 
     } 

    } 
    double hano = new HanoMaker().hano(); 
    return hano; 
} 

Это, однако, редко используется, и я не уверен, что такие классы могут иметь статические методы.

+0

Можете ли вы сделать вложенный метод статическим? –

+0

@PeterLawrey внешний метод? Хороший вопрос, возможно, нет, так как это сделает внутренний класс статическим. –

+0

Я предполагаю, что это опечатка 'public double Hanoof' с отсутствующим методом'() '? – exexzian

5

No Вы не можете, Java не разрешает вложенные методы.
вы могли видеть вложенные функции в JavaScript, но затем снова Java != JavaScript

EDIT:

в Sean Patrick Floyd предлагает: вы можете добиться этого с помощью Local Classes, а также проверить заметки на when to use such classes

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