2014-12-09 4 views
0

Вот мой код; видимо, мне не хватает главной. Пожалуйста, помогитеСкомпилировать ошибку и исправить синтаксис

class A { 

    A get(){return this;} 

} 


class B1 extends A{ 
    B1 get(){return this;} 
    void message(){System.out.println("welcome to covariant return type");} 

    public static void main(String args[]){ 
     new B1().get().message(); 
    } 
} 
+2

Скорее всего, вы не используете программу правильно. например вы используете java -cp. B1'? Я предлагаю вам попробовать запустить (и форматировать свой код) в своей среде IDE. –

+0

@MichalWilkowski, B1 должны быть объявлены публичными, и вы правы. Ничего не изменилось с тех пор, как вы изучили спецификации java :) .. – User27854

+0

Я понятия не имею, почему он удалил сообщение. – User27854

ответ

1

Класс

public class A 
{ 
    public A get() 
    { 
     return this; 
    } 
} 

Класс B1

public class B1 extends A 
{ 
    public B1 get() 
    { 
     return this; 
    } 

    public void message() 
    { 
     System.out.println("welcome to covariant return type"); 
    } 
} 

Основной метод

public static void main(String[] args) 
{ 
    B1 b1 = new B1(); 
    B1 b2 = b1.get(); 

    b2.message(); 
} 

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

+0

Основной метод должен быть внутри некоторого класса. – fjf2002

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