2015-12-14 2 views
-3

В сообщении http://www.javatpoint.com/constructor говорится: «Имя метода может быть или не быть таким же, как имя класса». Поэтому я просто создал эту программу, чтобы проверить ее. Однако он вызывает метод «Конструктор». Почему он вызывает метод?Почему конструктор не называется?

public class Constructor { 
    // default constructor 
    Constructor(){} 

    // paramterized constructor 
    Constructor(int a){System.out.println("Constructor called");} 

    static Constructor Constructor(int a){ 
     System.out.println("Method called"); 
     return null; 
    } 

    public static void main(String args[]){ 
     Constructor c = Constructor(5); 
    } 
} 

Я всегда думал создать объект, называемый его конструктором.

Constructor c = Constructor(5); 

ответ

6

Constructor c = Constructor(5); это звонит Constructor() метод, потому что там нет new используется.

Если вы делаете Constructor c = new Constructor(5);, он вызывается конструктором класса.

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