企业网站,个人博客等WordPress网站以及其他语言网站开发定制需求加QQ详聊。

Java中如何定义方法以及有参无参有无返回值的方法使用

JAVA教程 码云 48℃ 0评论
目录
[隐藏]

在使用Java开发时,我们经常使用到System.out.println(),这是什么呢?我们分开来看他的定义:

  • println() 是一个方法。
  • System 是系统类。
  • out 是标准输出对象。

所以我用一句话来描述该用法的意思就是调用系统类 System 中的标准输出对象 out 中的方法 println()。

Java中如何定义方法呢

所谓方法,就是用来解决一类问题的代码的有序组合,包含于类或对象中,在程序中被创建,在其他地方被引用,是一个功能模块。

方法的定义

一般情况下,定义一个方法包含以下语法:

修饰符 返回值类型 方法名(参数类型 参数名){
    ...
    方法体
    ...
    return 返回值;
}

方法包含一个方法头和一个方法体。下面是一个方法的所有部分:

  • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用。
  • 返回值类型 :方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
  • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
  • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
  • 方法体:方法体包含具体的语句,定义该方法的功能。

Java中如何定义方法呢

根据方法是否带参、是否带返回值,可将方法分为四类:

  1. 无参无返回值方法
  2. 无参带返回值方法
  3. 带参无返回值方法
  4. 带参带返回值方法

实例
下面的方法包含 2 个参数 num1 和 num2,它返回这两个参数的最大值。

/** 返回两个整型变量数据的较大值 */
public static int max(int num1, int num2) {
   int result;
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

无参无返回值方法

如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。

方法的使用分两步:

第一步,定义方法

例如:下面代码定义了一个方法名为 wel ,没有参数,且没有返回值的方法,执行的操作为输出 “ welcome to mybj. ”

java无参无返回值方法

注意:

1、 方法体放在一对大括号中,实现特定的操作

2、 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式

第二步,调用方法

当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名(); 来实现(关于类和对象的概念在后面文章中会详细讲解滴,这里大家先熟悉语法,表着急哦~~)

例如:在下面的代码中,我们创建了一个名为 hello 的对象,然后通过调用该对象的 wel( ) 方法输出信息:

public class TestDemo{
    public static void main(String[] args){
        //创建对象,对象名为hello
        TestDemo hello = new TestDemo();
        //通过对象名.方法名()的形式调用方法
        hello.wel();
    }
    //定义方法
    public void wel(){
        System.out.println("welcome to mybj")
    }
}

无参带返回值方法

如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。

例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果

Java 中无参带返回值方法的使用

在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值。

调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。如:

public class CalSum {
    public static void main(String[] args) {
		// 创建名为hello的对象
		CalSum test = new CalSum();
		// 调用方法并接受方法的返回值,保存在变量sum中
		int sum = test.calcSum();
		System.out.println("两数之和为:" + sum);
	}
	// 定义无参带返回值的方法
	public int calcSum() {
		int a = 10;
		int b = 16;
		int sum = a + b;
		// 使用return返回值
        return sum;
	}
}

结果为:两数之和为:26

注意事项

  • 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!

方法的返回类型为 void

  • 方法的返回值最多只能有一个,不能返回多个值

方法的返回值最多只能有一个,不能返回多个值

  • 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值

 方法返回值的类型必须兼容

带参无返回值方法

有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。例如,现实生活中电饭锅可以实现“煮饭”的功能,但前提是我们必须提供食材,如果我们什么都不提供,那就真是的“巧妇难为无米之炊”了。我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。

我们先来看一个带参数,但没有返回值的方法:

Java 中带参无返回值方法的使用

上面的代码定义了一个 show 方法,带有一个参数 name ,实现输出欢迎消息。

调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值

对象名.方法名(实参1,实参2,......,实参n)
// 创建对象,对象名为hello
HelloWorld hello = new HelloWorld();
 // 调用带参方法时必须传入参数值
hello.show("码云笔记");

运行结果:

欢迎您,码云笔记!

很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。

一定不可忽视的问题:

1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应

调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应

2、 调用方法时,实参不需要指定数据类型,如

hello.show("码云笔记");

3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等

方法的参数可以是基本数据类型

4、 当方法参数有多个时,多个参数间以逗号分隔

public int calc(int num1,int num2){
    int sum = num1 + num2;
    return num3;
}

带参带返回值方法

如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。

例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果

Java 中带参带返回值方法的使用

调用带参带返回值的方法:

Java 中带参带返回值方法的使用

Java 中方法的重载

什么是方法的重载呢?

如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:

Java 中方法的重载

如何区分调用的是哪个重载方法呢?

当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。如:

如何区分调用的是哪个重载方法呢

运行结果:

如何区分调用的是哪个重载方法呢

通过上面的例子,不难看出,重载就是在一个类中,有相同的函数名称,但形参不同的函。重载的结果,可以让一个程序段尽量减少代码和方法的种类。

说明:

  1. 参数列表不同包括:个数不同、顺序不同、类型不同。
  2. 仅仅参数变量名称不同是不可以的。
  3. 跟成员方法一样,构造方法也可以重载。
  4. 声明为final的方法不能被重载。
  5. 声明为static的方法不能被重载,但是能够被在此声明。

判断方法重载的依据:

1、 必须是在同一个类中

2、 方法名相同

3、 方法参数的个数、顺序或类型不同

4、 与方法的修饰符或返回值没有关系

方法重载的实现

方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错,这叫做重载分辨。

转载请注明:码云笔记 » Java中如何定义方法以及有参无参有无返回值的方法使用

喜欢 (1)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址