`

对象调用方法

阅读更多


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反射调用方法

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

    java通过反射创建对象并调用方法

    // 第一种方法,直接通过对象调用方法 System.out.println("第一次借钱:"); int money = userEntity.getMoney(); System.out.println("实际拿到钱为: " + money); // 第二种方法,通过方法名获取方法,执行...

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

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

    通过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 子类...

    多态的实现原理.docx

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

    JS调用C#后台方法

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

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

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

    Java调用c++类对象

    这里,`new CppClass()`创建了C++类的对象,`cppObject-&gt;doSomething()`则调用了C++类的方法。注意,由于内存管理在不同语言间可能存在差异,所以必须手动管理C++对象的生命周期,防止内存泄漏。 在完成C++的实现后...

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

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

    Android与H5交互相互调用对方的方法

    要实现H5调用Android的方法,我们需要使用WebView的一个关键功能:`addJavascriptInterface()`. 这个方法允许我们创建一个Java对象,并将其暴露给JavaScript环境。例如,我们可以创建一个名为`Bridge`的类,包含我们...

Global site tag (gtag.js) - Google Analytics