2015-02-01 2 views
0

Я хочу скомпилировать java-файл, но не знаю, как назвать файл, так как он имеет 2 открытых класса, где 1 класс наследуется от другого. Я назвал файл с именем Superclass, однако cmd дает мне ошибку, говорящий, что «подкласс является общедоступным, должен быть объявлен в файле подкласс.java». Может ли кто-нибудь помочь мне разрешить это? спасибоИменование файла Java с наследованием для компиляции

public class Superclass { 

    public void printMethod() { 
     System.out.println("Printed in Superclass."); 
    } 
} 
public class Subclass extends Superclass { 

    // overrides printMethod in Superclass 
    public void printMethod() { 
     super.printMethod(); 
     System.out.println("Printed in Subclass"); 
    } 
    public static void main(String[] args) { 
     Subclass s = new Subclass(); 
     s.printMethod();  
    } 
} 
+0

Сообщение сообщает вам, что именно делать: объявите подкласс в файле подкласс.java. –

+0

JB Nizet thx, исправлено – Mario

ответ

0

Либо используйте отдельный файл для обоих классов, либо удалите public access specifier из Superclass. В java, в том же файле, вы можете иметь только один класс public.

И класс, содержащий метод main, должен быть объявлен public.

+0

Thx, помогло много – Mario

1

оба класса должны быть в отдельных файлах. то есть подкласс в подклассе.java и суперклассах в Superclass.java