Home > Java > Javagetting Started > What are the necessary conditions for polymorphism to exist in Java?

What are the necessary conditions for polymorphism to exist in Java?

王林
Release: 2020-07-13 16:26:55
forward
3406 people have browsed it

What are the necessary conditions for polymorphism to exist in Java?

Three necessary conditions for the existence of polymorphism:

(Recommended learning: java introductory tutorial)

  • Inheritance

  • Override

  • The parent class reference points to the child class object

When When calling a method using polymorphism, first check whether the method exists in the parent class. If not, a compilation error occurs; if so, call the method of the same name in the subclass.

Benefits of polymorphism:

It allows the program to be well expanded and can handle objects of all classes universally.

(Video tutorial: java video tutorial)

Test code:

public class Test {
    public static void main(String[] args) {
      show(new Cat());  // 以 Cat 对象调用 show 方法
      show(new Dog());  // 以 Dog 对象调用 show 方法
                
      Animal a = new Cat();  // 向上转型  
      a.eat();               // 调用的是 Cat 的 eat
      Cat c = (Cat)a;        // 向下转型  
      c.work();        // 调用的是 Cat 的 work
  }  
            
    public static void show(Animal a)  {
      a.eat();  
        // 类型判断
        if (a instanceof Cat)  {  // 猫做的事情 
            Cat c = (Cat)a;  
            c.work();  
        } else if (a instanceof Dog) { // 狗做的事情 
            Dog c = (Dog)a;  
            c.work();  
        }  
    }  }
 abstract class Animal {  
    abstract void eat();  }  
  class Cat extends Animal {  
    public void eat() {  
        System.out.println("吃鱼");  
    }  
    public void work() {  
        System.out.println("抓老鼠");  
    }  }  
  class Dog extends Animal {  
    public void eat() {  
        System.out.println("吃骨头");  
    }  
    public void work() {  
        System.out.println("看家");  
    }  }
Copy after login

Output result:

吃鱼
抓老鼠
吃骨头
看家
吃鱼
抓老鼠
Copy after login

The above is the detailed content of What are the necessary conditions for polymorphism to exist in Java?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
Install JAVA
From 1970-01-01 08:00:00
0
0
0
Unable to install java
From 1970-01-01 08:00:00
0
0
0
Can java be used as the backend of the web?
From 1970-01-01 08:00:00
0
0
0
Is this in Java language?
From 1970-01-01 08:00:00
0
0
0
Help: JAVA encrypted data PHP decryption
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template