10.方法(函数)

方法

方法的概念

Java的方法(Method)类似于其它语言的函数(Function),指一段可以直接被另一段程序或代码引用的程序或代码。
面向过程语言中,整个程序就是由函数(相互调用)组成的。
面向对象语言中,方法(函数)是类的组成部份,整个程序是由很多类组成的。

方法的组成要素

  • 修饰符
  • 返回值
  • 方法名
  • 参数
  • 方法体

方法的优点

  1. 使程序变得更简短清晰
  2. 有利于程序的维护(修改)
  3. 可以提高开发效率
  4. 可以提高代码的重用性

方法的命名规则

  1. 方法名必须以字母、下画线 、$、数字组成
  2. 不能以数字开头
  3. 方法名尽量由单词组成,如果有多个单词,第一个单词首字母小写,其它单词首字母大写
  4. 在同一个类中,方法名一般不能重名(方法重载除外)

方法的声明

语法

访问权限修饰符 其它修饰符 返回值类型 方法名(参数列表){
		方法体代码
		return 返回值;(如果返回值类型为 void 此行可省略)
}

事例

public static void print(){
	System.out.println("我是打印方法");
	//return;因为返回值类型为 void 所以此行可省略
}

方法的调用

当函数定义以后,并不会主动执行,需要被调用才会执行。调用一个函数回进入到函数内部执行里面的代码,执行完毕后会回到调用语句的下一行继续执行。

public static void main(String[] args) {
        sayHello();
        sayHello();
}

:如果本类调用直接 通过函数名字调用 ,如果跨类调用,需要通过类名.函数名

方法的参数

  • 形参:就是方法声明中的参数,在方法调用前为没有赋值的变量
  • 实参:方法调用时,写在方法名后面小括号中的变量或常量
  • 传参:方法被调用时,用实参给形参赋值,这个过程叫传参
  • 传参时需要注意的事项:实参的数量和类型必须和形参的数量和类型保持一致(相兼容的数据类型)

方法的返回值

  1. 在没有返回值的方法中使用 return 语句,要求 return单独成立一条语句,类似于break或者continue,后面不能跟任何的数值,直接跟一个分号,此时 return 语句作用为 结束整个方法的运行。
  2. 在有返回值的方法中使用 return 语句,要求 return后加加空格后跟着需要返回的变量和结尾的分号,此时 return语句作用为 结束整个方法的运行,并将返回的变量传给方法的调用者.要求 返回值的实际变量类型需要与方法声明的返回值类型保持一致。
  3. 如果方法声明中有返回值,在方法体中使用了选择语句,如果需要有不同情况下的返回结果,那就都需要写 return 语句
  4. 无论在方法体的任何位置出现 return 语句,本次方法的调用都立即结束,返回到调用者。

方法的内存展示(重)

java的内存分区

java将内存分成了5块儿,分别是堆区栈区方法区本地方法区寄存器

  • 栈区:里面存放数据的特点是:先进后出,主要将加载时的局部变量方法放在栈区,数据的特点是使用完立刻释放
  • 堆区:存放的是实体(对象和数组),实体可以同时存放多个值,实体里面的变量如果不赋值,会有默认值。整型数据默认值是0,boolean—false
  • 方法区:程序运行中的二进制文件等(比如.class)
  • 本地方法区:存放外界引入的c,c++等的内容
  • 寄存器:也可以称为计数器

注!!:堆区中的数据会在某个时刻被释放-通过垃圾回收机制。垃圾回收机制是通过一个线程控制的,由于这个线程的等级比较低,所以不会立刻执行,数据就不会立刻释放。
执行方法就是一个压栈的过程

方法的重载

定义:同一个类中,方法名字相同,参数列表不同,就叫方法重载

  • 参数列表的不同包括,参数个数不同,参数数据类型不同,参数顺序不同
  • 方法的重载与方法的修饰符和返回值没有任何关系
class OverloadingDemo
{
	public static void show() {
		System.out.println("无参无返回值的show");
	}
	//1.改变参数
	public static void show(int a) {
		System.out.println("int的show");
	}
	public static void show(String a) {
		System.out.println("String的show");
	}
	public static void show(String a,int b) {
		System.out.println("String int的show");
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值