当前位置: 首页 > news >正文

Java基础 4.7

1.成员方法传参机制

引用数据类型的传参机制

引用类型传递的是地址(其实也是值,只不过值是地址),可以通过形参影响实参!

public class MethodParameter01 {
	public static void main(String[] args) {
		int[] arr = {1, 2, 3};
		AAA a = new AAA();
		System.out.println("以下输出的是test方法中的数组");
		a.test(arr);
		System.out.println("以下输出的是main方法中的数组");
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
	}
}

class AAA {
	public void test(int[] arr) {
		arr[0] = 100;
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
		System.out.println();
	}
}

public class MethodParameter01 {
	public static void main(String[] args) {
		// int[] arr = {1, 2, 3};
		AAA a = new AAA();
		// System.out.println("以下输出的是test方法中的数组");
		// a.test(arr);
		// System.out.println("以下输出的是main方法中的数组");
		// for (int i = 0; i < arr.length; i++) {
		// 	System.out.print(arr[i] + " ");
		// }
		Person p = new Person();
		p.age = 10;
		a.test2(p);
		System.out.println("main p.age = " + p.age);
	}
}

class AAA {
	public void test(int[] arr) {
		arr[0] = 100;
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
		System.out.println();
	}

	public void test2(Person p) {
		p.age = 100;
	}
}

class Person {
	String name;
	int age;
}

 

一个有趣的改动 会是你想到的结果吗? 

public void test2(Person p) {
		p = null;
}

 

 再改动一下 会是你想象中的结果吗?

public void test2(Person p) {
		Person p = new Person;
		p.age = 99;
		p.name = "logic";
}

 

还是10哈哈哈,我当时也想不到(●'◡'●) 

方法在哪个作用域调用,就用那个调用的作用域赋予的方法值

http://www.dtcms.com/a/117290.html

相关文章:

  • 基于Python的二手房数据挖掘与可视化深度分析
  • STM32单片机入门学习——第22节: [7-2] AD单通道AD多通道
  • AutoAgent: 香港大学开源的AI智能体框架
  • ARM-IIC
  • #简易线程池...实现原理
  • 从零开始的图论讲解(1)——图的概念,图的存储,图的遍历与图的拓扑排序
  • ubuntu 20.04 编译和运行A-LOAM
  • std::async 和 std::thread 的主要区别
  • 使用Vue、Nodejs以及websocket搭建一个简易聊天室
  • 项目难点亮点
  • 国密算法(SM2/SM3/SM4)与国际算法(AES/RSA/SHA-256)
  • 数据集的训练-测试拆分在机器学习中的重要性
  • Mac下Homebrew的安装与使用
  • SLAAC 与 DHCPv6 笔记250405
  • adb devices报错 ADB server didn‘t ACK
  • 第八届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组 购物单
  • 23种设计模式-行为型模式-状态
  • 使用 Qt 和 OBS 工具检测系统硬件编码器支持情况(NVENC、QSV、AMF)
  • InceptionNeXt:When Inception Meets ConvNeXt论文翻译
  • ML:Sigmoid 饱和函数
  • C++第1讲:基础语法;通讯录管理系统
  • ROS云课三分钟-差动移动机器人巡逻报告如何撰写-评分良好
  • python:获取某路径下所有图片的名称
  • 拉普拉斯变换
  • COMSOL 与人工智能融合的多物理场应用:28个案例的思路、方法与工具概述
  • 【C++ 多态】—— 礼器九鼎,釉下乾坤,多态中的 “风水寻龙诀“
  • Springboot JPA 集成ShardingSphere
  • 复活之我会二分
  • Python 上下文管理器(Context Manager)详解
  • 小行星轨道预测是怎么做的?从天文观测到 AI 模型的完整路径