Мой фон - С++. Я знаю, что такое перегрузка и что является основным. Я хочу спросить, не хочу ли я переопределить метод из родителя и хочу сделать свой собственный метод с другим типом возвращаемого имени и тем же именем, почему java не позволяет мне это делать?
Пример:
class X{
public void k(){
}
}
public class Y extends X{
public int k(){
return 0;
}
}
Почему java не применяет здесь скрытую концепцию? средний класс Y должен скрывать метод X. в чем причина?
С++ с использованием концепции Hiding.
#include <iostream>
class A{
public:
void k(){
std::cout << "k from A";
}
};
class B:public A{
public:
int k(){
std::cout << "k from B";
return 0;
}
};
int main(){
B obj;
obj.k();
return 0;
}