【Java学习路线】2.1类的定义及使用

2.1 类的定义及使用

方法可以提高代码的复用性,方法定义在类体当中。
方法如何定义?
方法的语法结构:[修饰符列表] 返回值类型 方法名(形式参数列表){
方法体;
};
关于修饰符列表:

为可选项,不是必须的
目前统一写为 public static
方法的修饰符列表当中与static如何调用?类名.方法名(实际参数类列表);

方法名:

方法名最好见名知义,方法名首字母小写之后的字母开头大写

形式参数列表

形参事局部变量
多个形参之间用逗号隔开
实参列表与形参列表必须满足:个数相同,对应的参数类型相同

方法在执行过程中内存是如何分配的?

public class Test{
	public static void main(String[] args){
	
	}
	public static void sunMethod(int x, int y){
		System.out.println(y+x);

	}
}

1.方法只定义不调用是不会执行的,并且在JVM中也不会给改方法分配运行所属的内存空间
2. 在JVM内存划分上有这样三块主要内存空间:
方法去内存
堆内存
栈内存
3.关于数据结构:
栈:是一种数据结构
栈帧永远指向栈顶元素
栈顶元素处于活跃状态,其他元素静止
栈数据存储特点:先进后出,后进先出
4. 方法代码片段属于.class字节码文件,字节码文件在类加载的时候将其放在了方法去内存中。所以JVM中的三块主要的内存空间中方法去内存最先有数据。存放子代码片段。代码片段虽然在方法区内存当中只有一份但是可以被重复调用。每一次调用这个方法的时候,需要给改方法分配独立的活动内存(栈中)。
5. 栈内存中分配的方法运行所属的内存空间,压栈给方法分配内存,弹栈是释放内存。
6. 局部变量在方法区声明,在栈内被释放。

public class MethodTest{
	public static void main(String[] args){
		int a = 10;
		int b = 20;
		int retValue = sumInt(a,b);
		System.out.println("rectvalue="+ rectvalue);
}

public static int sumint(int i, int j){
	int result = i+j;
	int num = 3;
	int rectValue = divide(result,num);
	return rectValue;
}

public static int divide(int x ,int y){
	int z = x/y;
	return x;
}
}

在这里插入图片描述
运行时在栈内存内分配用以运行在栈中,哪个方法先被执行哪个先压入栈,最后调用的哪个方法一定是最先结束的。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值