当先锋百科网

首页 1 2 3 4 5 6 7

Java中的重载和重写是面向对象编程中的两个概念。它们都是通过在方法中改变个别因素来实现方法的不同行为,从而改变程序的运行结果。

// 重载
public class OverloadingDemo {
public static void main(String[] args) {
OverloadingDemo obj = new OverloadingDemo();
obj.print();// 此时输出的是无参方法
obj.print("Java重载");// 此时输出的是有参方法
}
// 无参方法
public void print() {
System.out.println("Java");
}
// 有参方法
public void print(String str) {
System.out.println(str);
}
}

重载指在同一个类中,方法名相同,但参数列表不同的方法进行多次定义,以实现对同一个方法名的多重定义。在上述例子中,方法名都为print,但是一个有参数一个无参数,这就是方法重载的体现。

// 重写
class Animal {
public void move() {
System.out.println("动物可以移动");
}
}
class Dog extends Animal {
public void move() {
System.out.println("狗可以跑和走");
}
}
public class TestDog {
public static void main(String args[]) {
Animal a = new Animal(); // Animal 对象
Animal b = new Dog(); // Dog 对象
a.move();// 执行 Animal 类的方法
b.move();// 执行 Dog 类的方法
}
}

重写是面向对象编程中的一种机制,是子类对父类的允许访问的方法的实现过程进行重新编写,即在子类中写一个方法,与父类的方法名相同,返回值也相同,而参数列表却不同。重写的目的是为了实现对父类的方法的改进,或添加一些新的功能,使子类对象在使用时更加灵活多变。