1. 程式人生 > >Java多態內存分析

Java多態內存分析

inf java servle 指向 phi println dog xtend public

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多態內存分析