// 示例代码:Java重载和重写的区别和联系
// 定义一个父类
class Parent {
// 父类中的方法,可以被子类重写
public void show() {
System.out.println("Parent's show()");
}
// 父类中的方法,可以被重载
public void display(int a) {
System.out.println("Parent's display(int): " + a);
}
// 另一个重载版本的display方法
public void display(String s) {
System.out.println("Parent's display(String): " + s);
}
}
// 定义一个子类,继承自Parent
class Child extends Parent {
// 重写父类的show方法
@Override
public void show() {
System.out.println("Child's show()");
}
// 重载父类的display方法
public void display(int a, String s) {
System.out.println("Child's display(int, String): " + a + ", " + s);
}
// 重载子类自己的display方法
public void display(double d) {
System.out.println("Child's display(double): " + d);
}
}
public class Main {
public static void main(String[] args) {
// 创建子类对象
Child child = new Child();
// 调用重写的方法
child.show(); // 输出: Child's show()
// 调用重载的方法
child.display(10); // 输出: Parent's display(int): 10
child.display("Hello"); // 输出: Parent's display(String): Hello
child.display(10, "World"); // 输出: Child's display(int, String): 10, World
child.display(3.14); // 输出: Child's display(double): 3.14
}
}
重写(Override):
@Override
注解来重写父类的方法。重写方法的签名(方法名、参数列表)必须与父类中的方法完全一致。Child
类重写了Parent
类的show()
方法。重载(Overload):
Parent
类中有两个display
方法,一个是接受int
类型参数,另一个是接受String
类型参数。Child
类中又重载了display
方法,增加了新的参数组合。区别:
联系:
上一篇:android java调jni之arraylist
下一篇:java 保留2位小数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站