类和对象 - 方法的调用

这个方法调用  打印的结果是  1  跟 2  :基本数据类型问题

解:change方法调用的时候 传进去的参数属于基本数据类型。 change方法在压站运行的时候 只是重新赋值了  a 跟 b ;main方法执行完change的方法之后 change方法就没有用了 就出站了  不影响原本定义的 a 跟 b

这个方法 运行结果 是  3 跟 100 :引用数据类型问题

解: 方法首先从main方法进入  第一步 创建的int静态型数组, 此时JVM中的已经存在了数组的内存地址,因为是静态型的所以内存里面已经赋好了值,打印2索引-就会打出结果 3,此时又执行方法调用,将刚才定义的arr数组传入进去,注意:这时候传入的是 内存地址,并非数据! change方法开始运行 将arr数组中的2索引重新赋值。因为change中定义的数组参数跟main方法中的数组 指向的是同一个内存地址,所以change方法重新赋值的话,更改的实际上是内存中2索引的内容 。此时change方法出站,可是arr数组中的内存地址已经被改变,在打印的话 2索引就会打印出100

继刚才的知识点衍生的内存图 如下:

引用数据类型 数组  的内存图

基本数据类型 int 型 内存图:

方法调用的流程:

方法的内存图:

原文地址:https://www.cnblogs.com/gu-bin/p/9942487.html

时间: 2024-08-30 13:00:21

类和对象 - 方法的调用的相关文章

关于“如何做到在一个类内不通过创建另一个类的对象,却调用另一个类的方法”的问题

通常,我们在java中通过实例化一个类来调用该类的方法,但是,如果有多个类都要调用这个类地方法,是不是要在每个主调类里面都创建一个被调用类的对象呢? 如果这样做,会不会因为多次实例化而影响程序的执行效果呢? 答案是:没必要多次创建被调用类的对象,而且多次实例化还可能会影响程序执行效果. 解决问题的办法是:在每一个主调类里面各写一个构造方法,形参是被调用类的对象, public ShopCartItem(ShopCart shopcart) { super(); this.shopcart=sho

Object-c 类、对象方法

// //  main.m //  firestMethod2 // //  Created by AleuxQ on 16/3/14. //  Copyright © 2016年 AleuxQ. All rights reserved. // #import <Foundation/Foundation.h> /* 事物名称:iphone 属性:型号.cpu,尺寸,颜色 行为:打电话 发短信,上网 */ //1.编写类的申明 //###############################

C#同一项目中不同文件或类中的方法进行调用

有两种方法,一是将被调用的类设置成静态类Static,这样就可以直接点出来了,二是将被调用的方法所在类设置成public,这几必须在调用类中先将被调用的类进行实体化,new()出来,再点出来. 一. public class A{ public void a(){}; } public class B{ public void b(){ A aa = new A(); aa.a(); } } 二. static class A{ public void a(){}; } static class

Spring同一个类中的方法互相调用,注解失效问题的分析和解决

以Transaction注解为例: @Service public class TestService { @Autowired Dao dao; @Transactional public void methodOne(Object o) { dao.save(o); } public void methodTwo(Object o) { methodOne(o); } } 检查事务是否启动: 设置log leve为debug,可以查看是否有下面这个log,判断是否启动了Transaction

JS高级 —— 普通函数、构造函数、对象方法的调用

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 6 <title>函数的调用方式</title> 7 </head> 8 <script>

使用runtime给类动态添加方法并调用 - class_addMethod

上手开发 iOS 一段时间后,我发现并不能只着眼于完成需求,利用闲暇之余多研究其他的开发技巧,才能在有限时间内提升自己水平.当然,“其他开发技巧”这个命题对于任何一个开发领域都感觉不找边际,而对于我来说,尝试接触 objc/runtime 不失为是开始深入探索 iOS 开发的第一步. 刚了解 runtime 当然要从比较简单的 api 开始,今天就罗列整理一下 class_addMethod 的相关点: 首先从文档开始. /** * Adds a new method to a class wi

父类对象对子类对象方法的调用

1 import copy 2 class Dog: 3 def Eat(self): 4 print("Dog Eating...") 5 class Son: 6 def __init__(self): 7 self.height=100 8 def Eat(self): 9 print("Son Eating...") 10 class Father: 11 def LetSonEat(self,m): 12 if(isinstance(m,Son)): 13

Objective-C学习笔记(十九)——对象方法和类方法的相互调用

事实上在OC的对象方法(减号方法)和类方法(加号方法)并非相互独立的,它们也能够发生千丝万缕的关系,今天我们来研究下它们两者相互调用的问题.该样例还是以People类为基础. (一)对象方法调用类方法: (1)先在People.h中分别声明两个方法: -(void)show; +(void)showw2; (2)然后在People.m中分别实现两个方法,并在对象方法中调用类方法,调用方式也是用  "类名 方法名"进行. -(void)show{ NSLog(@"我是一个对象方

黑马程序员--Objective-C类方法与对象方法、区别、与调用-我之见解

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 类方法. 1. 特点: 以加号( + )开头, 调用格式:  [类名  方法名] 类方法的好处:不需要创建实例对象,直 接通过类名访问,节省空间 ,提高了效率 2.注意事项: 类方法可以和实例方法同名, 相互之间互不影响 类方法可以从父类