方法概述

假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(植物大战僵尸)。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,程序在需要发射炮弹时调用该方法即可。

方法定义及格式

1、简单的说:方法就是完成特定功能的代码块

 在很多语言里面都有函数的定义,函数在Java中被称为方法

2、格式:

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}

方法格式解释


  • 修饰符 比较多,后面会详细介绍。目前public static
  • 返回值类型 用于限定返回值的数据类型
  • 方法名 一个名称,为了方便我们调用方法
  • 参数类型 限定调用方法时传入参数的数据类型
  • 参数名 是一个变量,接收调用方法时传入的参数
  • 方法体 完成功能的代码
  • return 结束方法以及返回方法指定类型的值
  • 返回值 程序被return带回的结果,返回给调用者

有明确返回值的方法调用


  • 单独调用,没有意义
  • 输出调用,有意义,但是不够好,因为我不一定非要把结果输出
  • 赋值调用,推荐方式

注意事项


  • 方法不调用不执行
  • 方法与方法是平级关系,不能嵌套定义
  • 方法定义的时候参数之间用逗号隔开
  • 方法调用的时候不用在传递数据类型
  • 如果方法有明确的返回值,一定要有return带回一个值

没有明确返回值的函数调用


  • 其实就是void类型方法的调用
  • 只能单独调用

方法调用图解


java基础之方法重载_编程语言

方法重载



方法重载概述

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。



方法重载特点

与返回值类型无关,只看方法名和参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法



/*
比较两个数据是否相等。参数类型分别为
两个byte类型,两个short类型,两个int类型,两个long类型,
并在main方法中进行测试
*/
class FunctionTest6 {
public static void main(String[] args) {
//测试
byte b1 = 3;
byte b2 = 4;
System.out.println("byte:"+compare(b1,b2));

//测试
short s1 = 5;
short s2 = 5;
System.out.println("short:"+compare(s1,s2));

//后面的两个自己测试
}

//byte类型
public static boolean compare(byte a,byte b) {
System.out.println("byte");
return a == b;
}

//short类型
public static boolean compare(short a,short b) {
System.out.println("short");
return a == b;
}

//int类型
public static boolean compare(int a,int b) {
System.out.println("int");
return a == b;
}

//long类型
public static boolean compare(long a,long b) {
System.out.println("long");
return a == b;
}
}

运行结果:


java基础之方法重载_python_02

更多好文

 


java基础之方法重载_java_03

IT入门 感谢关注



程序员题库→

程序员用的单词表→

练习地址:http://520mg.com/it/#/code