`

对象调用方法

阅读更多


public class C {
    void g() {
        B b1 = new B();
        b1.protect();
        System.out.println(b1.i);
    }
    public static void  main(String[]args)
    {
    	new C().g();
    }
}


调用g的方法的字节码
 void g()
    {
    //    0    0:new             #2   <Class B>
    //    1    3:dup             
    //    2    4:invokespecial   #3   <Method void B()>
    //    3    7:astore_1        
    //    4    8:aload_1         
    //    5    9:invokevirtual   #4   <Method void B.protect()>
    //    6   12:getstatic       #5   <Field PrintStream System.out>
    //    7   15:aload_1         
    //    8   16:getfield        #6   <Field int B.i>
    //    9   19:invokevirtual   #7   <Method void PrintStream.println(int)>
    //   10   22:return          
    }

可以看出先创建对象
new #2<Class.b>
存入局部变量  也就是压入栈中!对象的引用
然后加载B Class实例的方法proctect方法
也就是说装载Class实例是连接程序和类数据结构的纽带!!
分享到:
评论

相关推荐

    frida反射调用对象中的方法与字段.pdf

    反射机制为Java的操作带来极大的灵活性,可以用来动态创建对象,调用方法,访问属性。 在Frida的上下文中,反射调用通常涉及到几个关键的Java反射API: - `getDeclaredFields`:这个方法可以用来获取对象的所有...

    函数之间调用同一个对象方法

    在探讨“函数之间调用同一个对象方法”的主题时,我们首先需要理解几个核心概念:函数、对象、方法以及事件监听器。这些概念是现代编程语言,尤其是面向对象编程语言中的基石,它们共同构建了复杂软件系统的逻辑框架...

    远程对象方法调用(动态代理+socket).rar

    6. **调用远程方法**:客户端通过代理对象调用远程方法,实际调用会被转发到服务器执行。 7. **处理结果**:服务器执行完远程方法后,通过Socket将结果返回给客户端,客户端的代理对象接收到结果后,将其传递给调用...

    C++11/14 线程调用类对象和线程传参的方法

    线程调用类对象 在前面的示例中,我们为线程任务使用了通常的函数。实际上,我们可以使用任何可调用对象或者lambda函数,如下调用类对象的例子: #include #include class MyFunctor { public: void operator()...

    易语言对象方法调用VBS命令创建快捷方式

    本知识点主要关注的是如何使用易语言调用对象方法来创建VBS(Visual Basic Script)命令,进而创建程序的桌面快捷方式。这个过程涉及到Windows操作系统中的对象模型、脚本语言以及文件操作。 首先,我们需要理解...

    一个远程调用对象的例子(VB)

    4. **客户端调用**:在客户端,你可以使用`Activator.GetObject`方法获取对远程对象的引用,并像调用本地对象一样调用其成员。需要提供服务端的类型名和URL来定位对象。 例如,一个简单的VB.NET远程调用对象的例子...

    易语言COM对象调用Excel例程

    至此,一个完整的易语言COM对象调用Excel的流程就完成了。这个例程源码会包含以上各步骤的具体实现,供学习者参考和实践。 通过这个例程,你可以了解如何利用易语言的COM机制与外部应用程序进行交互,这对于自动化...

    Java反射调用方法

    Java反射是Java语言提供的一种强大的动态类型特性,它允许程序在运行时检查和操作类、接口、对象等的内部信息,包括但不限于获取类的方法、字段、构造器等,并能动态调用方法和修改字段值。这个特性使得Java具有了更...

    JavaScript中函数对象调用模式总结

    JavaScript中的函数对象调用模式是编程中至关重要的概念,它涉及到函数作为一等公民、作用域、闭包、原型链等多个核心知识点。这篇博客通过深入分析JavaScript中的函数调用模式,帮助开发者更好地理解和掌握这些概念...

    Python面向对象实现一个对象调用另一个对象操作示例

    本文实例讲述了Python面向对象实现一个对象调用另一个对象操作。分享给大家供大家参考,具体如下: 我先总结一下python中的类的特点: 1.类中所有的方法的参数中都必须加self,并且是第一个参数 2.__init__方法用来...

    Java方法反射调用demo

    Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性使得Java具有了高度的灵活性,常用于框架开发、插件系统、元编程等...

    通过java类的路径实例化类并调用方法

    通过java类的路径实例化类并调用方法:仅仅知道类的路径,就可以实例化对象,利用反射机制调用其方法

    易语言免注册调用com对象源码

    在易语言中,调用COM对象是一项重要的技能,COM(Component Object Model)是微软提出的一种组件模型,广泛应用于Windows系统中的软件开发。本资源提供的是易语言免注册调用COM对象的源码,这对于开发者来说是非常...

    COM对象调用JS接口.rar

    在本压缩包"COM对象调用JS接口.rar"中,我们关注的是如何通过COM对象在JavaScript(JS)中调用COM组件的方法和属性。 在JavaScript中调用COM对象主要通过ActiveXObject实现。ActiveXObject是Internet Explorer...

    面向对象封装继承和多态.docx

    * 注意:使用匿名对象调用方法的时候,这个方法只能被调用一次。 方法的重载 * 方法名相同,参数类型不同,与返回值类型无关。 * static:可以修饰方法、变量、静态代码块。 继承 * 继承语法:public class 子类...

    groovy和Java相互调用1

    在这个例子中,创建了一个`GroovyDemo`对象并调用了它的`sayHello`方法。 2. **方法2:反射动态调用** - 使用Java的反射机制,可以在运行时动态加载和执行Groovy类。这种方法的优点是Groovy脚本的修改不需要重新...

    多态的实现原理.docx

    为了提高对象调用方法的速度,方法区的类型信息中包含了一个指针,这个指针指向一个记录类方法入口的表,即方法表。方法表按照一定的顺序组织:首先是Object类的方法,然后是父类的方法,最后是当前类的方法。如果...

    JS调用C#后台方法

    标题"JS调用C#后台方法"描述了这种跨语言通信的需求。本文将深入探讨如何使用JavaScript调用C#编写的后台方法,并介绍相关技术与实践。 首先,JavaScript作为客户端脚本语言,运行在用户的浏览器上,而C#通常是...

    远程方法调用(客户端调用服务端的方法)源码

    4. **客户端(Client)**:客户端通过` LocateRegistry.getRegistry()` 获取RMI注册表的引用,然后调用`Registry.lookup()` 查找并获取远程对象的引用,最后通过这个引用调用远程方法。 5. **服务器(Server)**:...

    易语言源码COM对象调用Excel例程.rar

    易语言源码COM对象调用Excel例程.rar 易语言源码COM对象调用Excel例程.rar 易语言源码COM对象调用Excel例程.rar 易语言源码COM对象调用Excel例程.rar 易语言源码COM对象调用Excel例程.rar 易语言源码COM对象...

Global site tag (gtag.js) - Google Analytics