##Override of java (Recommended learning: java course )
Rewriting is when a subclass rewrites the implementation process of a method that allows access to the parent class. Neither the return value nor the formal parameters can be changed. That is, the shell remains unchanged and the core is rewritten!
The advantage of overriding is that subclasses can define their own behavior as needed. In other words, subclasses can implement the methods of the parent class as needed. Overriding methods cannot throw new checked exceptions or exceptions that are broader than the overridden method declaration.For example:
A method of the parent class declares a checked exception IOException, but when overriding this method, you cannot throw Exception because Exception is IOException The parent class of IOException can only throw exceptions of subclasses of IOException. In object-oriented principles, overriding means that any existing method can be overridden.The examples are as follows:
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 类的方法 }}
The compilation and running results of the above examples are as follows:
动物可以移动 狗可以跑和走As you can see in the above example, although b belongs to Animal type , but it runs the move method of the Dog class. This is because during the compilation phase, only the reference type of the parameter is checked. However, at runtime, the Java Virtual Machine (JVM) specifies the type of object and runs the object's methods.
The above is the detailed content of what is java rewriting. For more information, please follow other related articles on the PHP Chinese website!