如何在Java中使用方法重写函数
发布时间:2023-07-01 02:05:19
在Java中,方法重写(Method Overriding)是指子类中声明的方法与父类中有相同的名字、参数列表和返回类型。子类重写(Override)父类的方法,通过调用子类的方法,可以实现对父类方法的覆盖和扩展。下面将介绍如何在Java中使用方法重写。
首先,要实现方法重写,需要创建一个父类和一个子类。父类是具有被重写方法的类,子类是继承父类并重写父类方法的类。
//父类
public class Parent {
public void print() {
System.out.println("这是父类的方法");
}
}
//子类
public class Child extends Parent {
public void print() {
System.out.println("这是子类的方法");
}
}
在子类中,我们使用@Override注解来表示这个方法是一个重写方法。这个注解可以帮助我们检查是否正确地进行了方法重写。
调用重写的方法的时候,可以创建一个父类或子类的对象,然后调用这个对象的方法。
Parent parent = new Parent(); Child child = new Child(); parent.print(); //这是父类的方法 child.print(); //这是子类的方法
当我们调用父类对象的方法时,执行的是父类中定义的方法;当我们调用子类对象的方法时,执行的是子类中重写的方法。
子类重写方法的时候,要注意以下几点:
1. 方法名、参数列表和返回类型必须与父类中被重写的方法相同。
2. 子类的访问修饰符不能缩小父类的访问修饰符。例如,父类方法是public修饰的,那么子类重写的方法也要用public修饰或者更大的访问修饰符。
3. 子类不能重写父类中被声明为final的方法。
4. 子类不能重写父类中的static方法,但是可以进行隐藏。
5. 子类重写方法时,可以使用super关键字调用父类的方法。
//子类重写父类的方法并使用super关键字调用父类的方法
public class Child extends Parent {
public void print() {
super.print(); //调用父类的print方法
System.out.println("这是子类的方法");
}
}
最后,在设计重写方法时,可以使用@Override注解来确保正确地进行了方法重写,这样当发生错误时,编译器会报错。
综上所述,通过创建父类和子类,并在子类中使用@Override注解来重写父类的方法。通过调用子类对象的方法,可以实现对父类方法的覆盖和扩展。使用方法重写可以优化代码的可扩展性和重用性,提高代码的灵活性和可读性。
