Полиморфизм не связан с переопределением методов;речь идет о объектах , определяющих реализацию конкретного процесса.Простой пример - но ни в коем случае не единственный пример - с наследованием:
Роман - это тип Книги.Он имеет большинство тех же методов, и все, что вы можете сделать с книгой, можно сделать с романом.Следовательно, любой метод, который принимает книгу в качестве аргумента, также может иметь дело с романом в качестве аргумента.(Пример будет включать .read (), .write (), .burn ()).Это само по себе , не имея в виду тот факт, что роман может перезаписать метод Book.Вместо этого он ссылается на функцию абстракция .Если профессор назначает Книгу для чтения, ему / ей все равно как вы ее читаете - только то, что вы делаете.Точно так же вызывающая программа не заботится о том, как объект типа Book читается, просто о том, что это так.Если объект является романом, он будет читаться как роман.Если это не роман, но книга, она будет прочитана как книга.
Книга:
private void read(){
#Read the book.
}
Роман:
private void read(){
#Read a book, and complain about how long it is, because it's a novel!
}
Методы перегрузкипросто ссылается на наличие двух методов с одинаковым именем, но с разным количеством аргументов.Пример:
writeNovel(int numPages, String name)
writeNovel(String name)