(23)对象调用非静态方法执行过程、静态方法调用内存执行过程
2017-07-06 17:28
453 查看
public class Person{ private String name; private int age; private static String country="cn"; static { System.out.println("Demo.class启动!!!"); } { System.out.println("默认的成员变量的值为:"+"name="+name+" "+"age="+age+"country="+Person.country); } Demo (String name,int age){ this.name=name; this.age=age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public static void showCountry() { System.out.println("country="+country); speak();//静态方法体内可以调用静态方法,方法只有被调用,才能执行,静态方法用类名.成员调用 在同一个类中,类名.可以省略 //Person.speak();也可以这样写 } public static void speak() { System.out.println(说说说!!11"); } } 调用:Person p=new Person("张三",33); p.setName(“王五”);
对象调用非静态方法内存图示:
注意:调用非静态方法,加载到栈中会有个this变量,谁调用它,它指向谁.当方法运行完后,在栈中的方法被释放,再次调用该方 法时,再产生
静态成员都在方法区中,调用用类名.方法名,与栈或者堆无关
相关文章推荐
- Java动态绑定的理解-调用对象方法的执行过程
- 基于C#中的类SqlCommand对象调用SQLServer存储过程时,存储过程执行成功,但是对象方法ExecuteNonQuery()返回-1
- Java 调用对象方法的执行过程
- Java中调用对象方法的执行过程
- Java多线程运行时,尽可能调用单例对象、工具类和静态方法,这样可以减少内存的占用量
- 关于多态性的动态绑定问题, 对象调用方法的执行过程.
- C#中的类SqlCommand对象使用方法ExecuteNonQuery()调用SQLServer存储过程时,存储过程执行成功,数据发生改变,但是返回-1
- java 类调用静态方法不需要实际对象存在吗,仅仅将类装载到内存中就可以了吗
- java 程序加载过程---3--类中申明同时申明类的静态对象 创建类的实例 访问类的静态变量 调用类的静态方法 使用反射方法 初始化类的子类对象 直接使用java.exe 调用某个类
- php面向对象中static静态属性和静态方法的调用
- php面向对象中static静态属性和静态方法的调用
- 图解Java对象初始化过程以及方法调用
- php面向对象中static静态属性和静态方法的调用
- Java中对象方法的调用过程&动态绑定(Dynamic Binding)
- eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?
- 静态代码在内存中的调用过程
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- 面向对象银角大王补充2-self就是调用当前方法的对象-静态字段,公有属性-封装的理解-继承的理解,普通方法,静态方法
- Java中静态初始化块、初始化块和构造方法的执行过程
- PowerShell中调用.NET对象的静态方法、静态属性和类方法、类属性例子