栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java方法相关知识

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java方法相关知识

方法定义

定义:方法是一段具有独立功能的代码块,不调用就不执行。

方法的出现提高了方法的复用性

利用debug查看方法的参数传递过程

首先上代码以及执行结果

package javabase;

public class test13 {
	
	//主方法一定是程序的入口点
	public static void main(String []args)
	{
		int number = 100;
		System.out.println("调用方法前:" + number);
		change(number);
		System.out.println("调用方法后:" + number);
	}
	
	public static void change(int number)
	{
		number = 200; 
	}
}


结果:number没有改变

方法参数传递 引用数据类型

package javabase;

public class test14 {
	public static void main(String []args)
	{
		int[] arr = {10,20,30};
		System.out.println("调用方法前:" + arr[1]);
		
		change(arr);
		System.out.println("调用方法后:" + arr[1]);
	}
	
	public static void change(int[] arr)
	{
		arr[1] = 200;
	}
}



使用数组这一引用类型的变量,可以改变数组元素

方法调用过程
  1. 方法没有被调用的时候,都在方法区中的字节码文件中存储
  2. 方法被调用的时候,需要进入栈内存中运行

所以若干个方法需要执行时,第一个方法最先调入栈内存,但是是最后一个执行完毕

带参数方法的定义与调用


形参:方法中定义的参数
实参:方法在调用时给出的真实数据


ps:方法之间都是平行的 不能嵌套定义
方法的返回值类型为void 表示没有返回值
返回值不能为具体的值

方法的重载

方法名相同,参数不同(参数类型, 参数个数,参数顺序)

虽然方法名相同,但是JVM会根据参数不同调用相应的方法

方法的参数传递


number值没有改变

原因:change里面的Number 和 main方法的NUmber根本就不是一个变量,他们有不同的内存地址,change的number虽然修改了,但是主方法number没有变

如果参数是基本数据类型,传递的只是该变量所记录的具体数值

如果传递引用数据类型,比如数组

使用引用数组类型,变量的地址都是一样的,所以改变变量的值不会失效。

参数为引用数据类型,传递的是内存地址,不是值!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/284441.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号