Home > Java > javaTutorial > Java Basics: Understanding and Application of Polymorphism

Java Basics: Understanding and Application of Polymorphism

(*-*)浩
Release: 2019-08-13 16:52:25
forward
2855 people have browsed it

Java Basics: Understanding and Application of Polymorphism

Overview of polymorphism

1. Polymorphism is the third major object-oriented method after encapsulation and inheritance. characteristic.

2. Understanding the meaning of polymorphic reality:

Real things often take on multiple forms, such as students. Students are a type of human being. A specific classmate Zhang San is both a student and a human being, that is, he appears in two forms.

As an object-oriented language, Java can also describe multiple forms of a thing. If the Student class inherits the Person class, a Student object is both a Student and a Person.

3. Polymorphism is reflected in the fact that parent class reference variables can point to subclass objects.

4. Prerequisite: There must be a child-parent relationship.

Note: When calling a method using a polymorphic parent class reference variable, the overridden method of the subclass will be called.

5. Polymorphic definition and usage format

Definition format: parent class type variable name=new subclass type();

Characteristics of members in polymorphism

1. Polymorphic member variables: Look at the left side when compiling and running

Fu f=new Zi();

System.out.println(f.num);//f is the value in Fu, and can only get the value in the parent

2. Polymorphic member method: look on the left when compiling, and on the right when running

Fu f1=new Zi();

System.out.println(f1.show());//The facade type of f1 is Fu, but the actual type is Zi, so The overridden method is called.

instanceof keyword

Function: Used to determine whether an object belongs to a certain data type.

Note: The return type is Boolean

Use case:

Fu f1=new Zi();
Fu f2=new Son();
if(f1 instanceof Zi){
    System.out.println("f1是Zi的类型");
}
else{
    System.out.println("f1是Son的类型");
}
Copy after login

Polymorphic transformation

Polymorphic transformation points There are two types of upward transformation and downward transformation

Upward transformation: polymorphism itself is a process of upward transformation

Usage format: parent class type variable name=new subclass type ();

Applicable scenarios: When there is no need to face subclass types, the corresponding operations can be completed by improving scalability or using the functions of the parent class.

Downward transformation: A subclass object that has been upwardly transformed can use the forced type conversion format to convert the parent class reference type to the subclass reference type.

Using format: subclass type Variable name = (subclass type) Variable of parent class type;

Applicable scenario: When you want to use the unique functions of the subclass.

Polymorphic case:

Example 1:

package day0524;
 
public class demo04 {
    public static void main(String[] args) {
        People p=new Stu();
        p.eat();
        //调用特有的方法
        Stu s=(Stu)p;
        s.study();
        //((Stu) p).study();
    }
}
class People{
    public void eat(){
        System.out.println("吃饭");
    }
}
class Stu extends People{
    @Override
    public void eat(){
        System.out.println("吃水煮肉片");
    }
    public void study(){
        System.out.println("好好学习");
    }
}
class Teachers extends People{
    @Override
    public void eat(){
        System.out.println("吃樱桃");
    }
    public void teach(){
        System.out.println("认真授课");
    }
}
Copy after login

Example 2:

What is the result of running the project?

package day0524;
public class demo1 {
    public static void main(String[] args) {
        A a=new A();
        a.show();
        B b=new B();
        b.show();
    }
}
class A{
    public void show(){
        show2();
    }
    public void show2(){
        System.out.println("A");
    }
}
class B extends A{
    public void show2(){
        System.out.println("B");
    }
}
class C extends B{
    public void show(){
        super.show();
    }
    public void show2(){
        System.out.println("C");
    }
}
Copy after login

The above is the detailed content of Java Basics: Understanding and Application of Polymorphism. 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