Java多态内存分析

Posted pallcard-lk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java多态内存分析相关的知识,希望对你有一定的参考价值。

HttpServlet.java

package cn.bjsxt.oop.polymorphism.myServlet;

public class HttpServlet {
    public void service(){
        System.out.println("HttpServlet.service()");
        this.doGet();
    }
    
    public void doGet(){
        System.out.println("HttpServlet.doGet()");
    }
    
}

MyServlet.java

package cn.bjsxt.oop.polymorphism.myServlet;

public class MyServlet extends HttpServlet {
    
    public void doGet(){
        System.out.println("MyServlet.doGet()");
    }
    
}

Test.java

package cn.bjsxt.oop.polymorphism.myServlet;

public class Test {
    public static void main(String[] args) {
        HttpServlet s = new MyServlet();
        s.service();
    }
}

输出结果:

HttpServlet.service()

MyServlet.doGet()

内存分析如下:

技术分享图片

其中this指向最外面的对象

以上是关于Java多态内存分析的主要内容,如果未能解决你的问题,请参考以下文章

Java多态内存分析

java 代码片段

java中封装,继承,多态,接口学习总结

java内存流:java.io.ByteArrayInputStreamjava.io.ByteArrayOutputStreamjava.io.CharArrayReaderjava.io(代码片段

java中对于多态的一个实例分析

c++头脑风暴-多态虚继承多重继承内存布局