指令 | 作用 |
---|---|
invokevirtual | 用于调用对象的实例方法,根据对象的实际类型进行分派(虚方法分派),这也是java语言中最常见的方法分派方式 |
invokeinterface | 用于调用接口方法,它会在运行时搜索一个实现了这个接口方法的对象,找出适合的方法进行调用 |
invokespecial | 用于调用一些需要特殊处理的实例方法,包括实例初始化方法、私有方法和复类方法 |
invokestatic | 用于调用类方法(static方法) |
invokedynamic | 用于在运行时动态解析出调用点限定符所引用的方法,并执行该方法 |
public class Test1{
public static void main(String []args){
UserService us=new UserServiceImpl();
int result=us.add(1,2);
}
}
interface UserService{
int add(int a,int b);
}
class UserServiceImpl implements UserService{
public int add(int a,int b){
return a+b;
}
}
public class Test1{
public static void main(String []args){
UserService us=new UserServiceImpl();
int result=us.add(1,2);
}
}
interface UserService{
int add(int a,int b);
}
class UserServiceImpl implements UserService{
public int add(int a,int b){
return a+b;
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://wwwxz.blog.csdn.net/article/details/123585295
内容来源于网络,如有侵权,请联系作者删除!