abstract class A{
public void printMe(){
System.out.println("I love you");
}
public abstract void sayHello();
}
class B extends A{
public void sayHello(){
System.out.println("hello, i am louis");
}
}
public class MyTest{
public static void main(String[] args) {
A obj=new B();
while(true){
}
}
}
D:\>javac MyTest.java
D:\>java MyTest
C:\Users\A>jps
1392 Jps
7540 MyTest
java -cp sa-jdi.jar sun.jvm.hotspot.HSDB
class brower工具查看class文件对应JVM中生成的instanceKlass地址
inspector查看class对象的具体参数,并查看存放方法地址的虚拟表的长度,并计算出虚拟表的起始地址
console查看mem查看虚拟表中存的地址是哪些,并发现子类中存的方法的具体地址:没重写过的存的是父类中方法的地址,重写过的存的是重写后的方法的地址