美文网首页
Java 分派

Java 分派

作者: 意梦春秋 | 来源:发表于2018-10-16 12:46 被阅读0次

静态分派


重载属于静态分派 靠静态类型来判断

public void sayHello(Human guy){
        System.out.println("hello human");
}
public void sayHello(Man guy){
        System.out.println("hello man");
}
public void sayHello(Woman guy){
        System.out.println("hello woman");
}
Human man=new Man();
Human woman =new Woman();
sayHello(man);
sayHello(woman);

如上代码中输出为:

hello human
hello human

动态分派


重写属于动态分派 靠实际类型来判断

public abstract class Human{
        public abstract void sayHello();
}
public class Man extends Human{
        public void sayHello(){
                System.out.println("hello man");
        }
}
public class Woman extends Human{
        public void sayHello(){
                System.out.println("hello woman");
        }
}
Human man=new Man();
Human woman =new Woman();
man.sayHello();
woman.sayHello();
man=new Woman();
man.sayHello();

如上代码输出为:

hello man
hello woman
hello woman

单分派 多分派


java中 静态分派属于多分派,动态分派属于单分派。

相关文章

  • Java 分派

    静态分派 重载属于静态分派 靠静态类型来判断 如上代码中输出为: 动态分派 重写属于动态分派 靠实际类型来判断 如...

  • java分派!

    Java的重载和重写在开发中是非常常见的,那么它们在Java虚拟机中是如何实现的?先看下Java的两种分派方式:静...

  • Java静态分派、动态分派、双重分派

    动态分派和静态分派机制是java多态的实现原理。 静态分派(方法重载) 静态分派机制最典型的代码: 这段代码执行完...

  • 多态->分派

    摘抄深入理解java虚拟机目标 分派包括: 静态分派与动态分派两种类型, 静态分派的使用场景为重载, 动态分派使用...

  • java分派机制

    在java中,符合“编译时可知,运行时不可变"这个要求的方法主要是静态方法和私有方法。这两种方法都不能通过继承或被...

  • Java方法分派

    静态分派 - 方法重载分派编译期确定根据调用者的声明类型和方法参数类型分派 动态分派 - 方法重写分派运行时确定根...

  • Java 静态多分派&动态单分派

    分派发生在编译期和运行期,编译期的分派为静态分派,运行期的为动态分派。 编译期是根据对象声明的类型来选择方法,运行...

  • Android日常基础知识整理(上)

    1.java char 2.java String 3.java匿名内部类限制 4.java方法分派 5.java...

  • java虚拟机之方法调用(下)——单分派与多分派

    前言 上一篇讲解了静态分派和动态分派,还不清楚的同学可以先看看:java虚拟机之方法调用(上)——静态分派与动态分...

  • 虚拟机字节码执行引擎【方法调用(二)单分派与多分派】

    单分派与多分派 方法的接收者与方法的参数统称为方法的宗量(来源于《Java与模式》)。根据分派基于多少种宗量,可将...

网友评论

      本文标题:Java 分派

      本文链接:https://www.haomeiwen.com/subject/oioczftx.html