JavaSE基础记忆点——方法


方法

方法是一种语法结构,它可封装一段代码为一个功能,方便重复调用。提高代码复用性、开发效率,使程序逻辑更加清晰。

  • 形式结构
  • 执行原理
  • 参数传递机制
  • 方法重载

1. 形式结构

	修饰符  返回值类型  方法名(形参列表){
			方法体代码(实现功能目的的代码);
			return 返回值;
	}
  • 修饰符:public、static 、private等;
  • 返回值类型:int、void、boolean等,特别的,Class的构造函数不能定义返回值类型,以及返回值类型是void的方法,无返回值,最后不能return任何值,但可直接return加分号结束方法;
  • 方法名:标识符,注意命名规则;
  • 形参列表:可以没有,多个形参间用逗号隔开,这儿叫形参,调用方法时在括号里写的叫实参,实参与形参的类型、数目需保持一致;
  • 方法体代码:嗯;
  • return:定义了返回值类型,并且类型不是“void”的方法,必须return对应类型的返回值。执行return语句后会直接结束当前方法的执行。

不能定义两个及以上方法名与形参都一样的方法。


2. 执行原理

Java将虚拟机的内存划分为方法区、栈、堆、本地方法栈、寄存器5个区域。
每次调用方法,方法都会进栈执行,执行完后再弹栈出去。
不了解堆、栈的基础知识,可以看看该博文:
基础知识篇——堆内存和栈内存
@WaitFoF

执行流程:
①通过方法名找到对应方法;
②传参;
③执行方法中代码,若该部分又有方法调用,继续压栈,优先执行完栈顶方法;
④有返回值则返回。


3. 参数传递机制

Java的参数传递机制都是值传递

  • 实参是基本数据类型的变量:传递的其实是该实参存储的副本

     方法内改变该副本的值不会改动到原实参的值。
    
  • 实参是引用数据类型的变量:传递的是该变量存储的地址值的副本

     地址值指向的是堆内存中一块区域,
     若在方法中不改变形参的地址指向
     而直接修改形参的元素,
     则实参的元素也被改变。
    
  • 实参是字面量,传递的是字面量的


4. 方法重载

简单的说就是创建多个
方法名相同但形参列表不同的方法,
可以对应实现不同功能。
给调用该方法名方法的用户
提供多种传参选择
以及不用记忆多个方法名的方便。

例如,创建类时,我们自己不添加任何构造器,会自动生成一个无参构造器:

public Class Dog{
	private name;
	public Dog(){}//无参构造器
}

这时再写个有参数的构造器就是方法重载了

public Class Dog{
	private String name;
	public Dog(){}//无参构造器
	public Dog(String name){//有参构造器
		this.name = name;
	}
}

还有,我们在调用一些方法时,IDEA会提示的同一方法不同参数选项,也是因为方法重载:
同一方法名参数不同的多个方法

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值