2015-03-26 3 views
0

Я очень новичок в Java и просто пытаюсь ослабить основы. Я бросаю код с моими основными объектами класса в своем абстрактном классе, и я не уверен, что изменить.Аннотация Ошибка класса comp? Java

public class Test { 
    public static void main(String[] args) { 
     m(new GraduateStudent()); 
     m(new Student()); 
     m(new Person()); 
     m(new Object()); 
    } 

    public static void m(Student x) { 
     System.out.println(x.toString()); 
    } 
} 

class GraduateStudent extends Student { 
} 

class Student extends Person { 
    public String toString() { 
     return "Student"; 
    } 
} 

class Person extends Object { 
    public String toString() { 
     return "Person"; 
    } 
} 
+1

Каков ваш вопрос? – coderz

+0

Также вам не нужно расширять класс 'Person' от' Object'. Имейте в виду, 'Если класс не расширен из какого-либо другого класса, по умолчанию он расширен от Object'. И, по словам кодера, в чем ваш вопрос? – codebot

ответ

1

Просто Изменить

public static void m(Student x) { 
     System.out.println(x.toString()); 
} 

в

public static void m(Object x) { 
     System.out.println(x.toString()); 
     } 

Поскольку все дочерние классы могут быть литыми к родителю, родители не могут быть литыми ребенку

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