java虚拟机中的invokevirtual所造成的问题

来源:互联网 发布:罗技anywhere2 mac 编辑:程序博客网 时间:2024/05/18 09:02
package com.zhiyou.video.test.testCGLIB;

import org.apache.log4j.PatternLayout;
import org.omg.CORBA.PUBLIC_MEMBER;
/***
 * 1.分析继承方法的调用
 * 2.方法的转型问题
 * http://blog.csdn.net/fenggla/article/details/55846507
 *
 * */
public class father {
  public static void main(String[] args) {
son son=new son();
son.get1();
System.out.println("-----");
fatcher1 fatcher11=new fatcher1();
fatcher11.get1();
 fatcher1 fatcher12=new son();
  fatcher12.get1();
  }
}
class fatcher1{
    
    public void get1(){
        
        get2();
    }
    private void get2(){
///public  void get2(){    
        System.out.println("get2位于fatcher1中的!!");
    }
}
class son extends fatcher1{
    
    public void get2(){
        
        System.out.println("get2位于参数son中的");
        
    }
}

结果为:

get2位于fatcher1中的!!
-----
get2位于fatcher1中的!!
get2位于fatcher1中的!!

分析,在上面的son.get1中的get2()为invokevirtual方法所造成的

阅读全文
0 0
原创粉丝点击