2012-01-12 8 views
0

У меня есть абстрактный класс, как:Обратный и абстрактный класс?

public abstract class myClass{  

    public abstract double methodOne(); 
    // returns the data member value for standard deviation 

    public abstract double methodTwo(String myString, int myInt); 
    // returns the data member value for mean percentage 

} 

Тогда у меня есть класс, который расширяет это:

public class Abstract extends myClass{ 

    public double methodOne() { 
     return 0.00; 
    } 

    public double methodTwo(String myString, int myInt) { 
     return 20.00; 
    }  
} 

Тогда, наконец, у меня есть нормальный метод, который возвращаемый тип MyClass.

public myClass anotherMethodOfMine(String myString, int myInt){ 

} 

Простой вопрос на самом деле, я просто не понимаю, как метод может вернуть другой класс, который сам содержит методы? Может ли кто-нибудь объяснить это мне?

+0

Он возвращает экземпляр класса, как если бы он возвращал строку - другой тип, который имеет методы. –

+0

Вы когда-нибудь возвращали String? Строка содержит методы. Вы когда-нибудь возвращали ArrayList? ArrayList содержит методы. Вы когда-нибудь возвращали ____? A ____ содержит методы. Я откровенно не понимаю. Позаботьтесь о подробностях? Это просто * абстрактный * модификатор суперкласс, который дает вам проблемы? –

ответ

2

Метод возвращает объект MyClass, на котором вы можете вызвать методы, определенные там.

Вы должны понимать, что класс - это просто определение поведения и данных. Объект - это фактический объект, который может выполнять вещи с данными и может вызывать поведение, определенное в классе.

+1

Спасибо, я понимаю. Я занимаюсь java на некоторое время и никогда не делал этого, но его действительно довольно простой, пробел в моих знаниях! –

1

Даже если ваш myClass не может быть создан непосредственно (поскольку это абстрактный класс) Abstract является подклассом myClass; это означает, что он имеет отношение is a.

Из-за этого Abstract "является" myClass и может быть возвращен как экземпляр родительского класса (myClass).

0

Ваш метод anotherMethodOfMine(String myString, int myInt), который будет интронировать объект, который был бы создан и возвращен вызывающей функции. где вы можете получить доступ к объекту myclass и использовать методы, которые определены в myclass.

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