Возможна ли перегрузка в классе наследования в Java? - PullRequest
3 голосов
/ 12 апреля 2019

Возможна ли перегрузка в классе наследования в Java? Родительский класс и дочерний класс содержат одно и то же имя метода, но разные параметры. Это перегрузка?

class Parent {
    public void add(int a) {
        System.out.println("I am parent" + a);
    }
}

class Child extends Parent {
    public void add(long a) {
        System.out.println("I am child.");
    }
}

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Да, конечно, перегрузка в классе наследования возможна в Java.Компилятор Java обнаруживает, что метод add имеет несколько реализаций.поэтому в соответствии с параметром компилятор java определяет, какой метод должен быть выполнен.

class Parent {
    public void add(int a) {
        System.out.println("I am parent " + a);
    }
}

class Child extends Parent {
    public void add(long a) {
        System.out.println("I am child.");
    }
}
class Demo{
    public static void main(String args[]){

    Child child = new Child();
    child.add(1); // prints "I am parent 1"
    child.add(1L); // prints "I am child."

    }
}
0 голосов
/ 12 апреля 2019

Да.Расширяя любой класс, внутренне это означает, что все доступное поведение родительского класса будет присутствовать или наследоваться в дочернем классе.т. е. в вашем случае перегружается одно и то же имя с другим аргументом.

...