Java是否可以在继承类中重载?

时间:2019-04-12 07:16:28

标签: java inheritance overloading

在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 :(得分:1)

是的,当然,在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."

    }
}

答案 1 :(得分:0)

是的。在扩展任何类时,在内部它意味着父类的所有可访问行为都将在子类中出现或继承。即,因此,在您的情况下,具有不同参数的相同名称会超载。