在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.");
}
}
答案 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)
是的。在扩展任何类时,在内部它意味着父类的所有可访问行为都将在子类中出现或继承。即,因此,在您的情况下,具有不同参数的相同名称会超载。