浅谈方法参数传递和返回值

在学方法的时候,我们会学到如何在主方法中调用方法。在调用方法的时候会涉及到参数传递和返回值的问题,今天,我们就谈谈方法中的参数传递和返回值。

参数传递

简单来讲,方法的参数传递,无非就是调用方法的时候,传递值或者引用,用形式参数类接收值或者引用,进而在方法中使用形式参数。
具体点讲,参数传递的时候,实参类型不同的话,就需要用不同类型的形参来进行接收。
注意:实参可以和形参不同,两者互不影响。

下面就分类型来谈谈参数传递。

基本数据类型

基本数据类型的变量进行参数传递的时候,需要用基本数据类型的形式参数进行接收。

特点:基本数据类型在传递参数的时候,传递的是变量(实参)的,在方法中用形式参数进行接收,且对形式参数进行一系列操作如赋值,并不会改变实参的值。所以,这样的参数传递也称为值传递。

在这里插入图片描述

引用类型

引用类型的量在进行参数传递的时候,需要用引用类型的形式参数进行接收。

数组以及面向对象中的类等都是引用类型。
特点:引用类型在参数传递的视乎,传递的是引用(即地址值),在方法中用形式参数进行接收,且对形式参数进行一系列操作的时候,会改变引用指向的内存空间的值。所以,这样的参数传递也称为引用(地址)传递。

在这里插入图片描述

在学习面向对象的时候,我们遇到了类、抽象类、接口等概念。若参数传递时,需要的是这些类型,那么我们如何进行参数传递呢?

若方法中参数传递需要的是一个类 类型,那么我们需要传递的是该类的一个对象。类是一个抽象的概念。对象是类的具体、实例化,我们可以对对象进行操作,但是我们无法对类进行操作。

在这里插入图片描述

抽象类

若方法中参数传递需要的是一个抽象类 类型,那么我们需要传递的是该抽象类的一个子类对象。(抽象类不能实例化,可以采用多态形式)

在这里插入图片描述

接口

若方法中参数传递需要的是一个接口 类型,那么我们需要传递的是该接口的一个子类对象。(接口不能实例化,可以采用多态形式)

在这里插入图片描述

返回值

根据方法的返回值类型来判断我们是否需要返回一个值。若方法返回值类型为void,那么该方法就不需要返回值。除此之外,就需要根据方法返回值类型来返回对应的值。返回值有点类似参数传递。

根据返回值类型的不同来具体谈谈返回值。

基本数据类型

若方法的返回值类型为基本数据类型,那么就返回该数据类型对应的值。

在这里插入图片描述

引用数据类型

若方法的返回值类型为引用数据类型,那么就返回该引用类型的对应的值(如数组)或者对象(如类)。

数组

若返回值类型为数组,那么直接返回数组名即可。

在这里插入图片描述

若返回值类型为类 类型,那么需要返回的是该类的一个对象。

在这里插入图片描述

抽象类

若返回值类型为抽象类 类型,那么需要返回的是该抽象类的一个子类对象。(抽象类不能实例化,可以采用多态形式)

在这里插入图片描述

接口

若返回值类型为接口 类型,那么需要返回的值该接口的一个子类对象。(接口不能实例化,可以采用多态形式)

在这里插入图片描述

针对方法的参数传递和返回值问题,可以总结如下:

一:若方法的形参或者返回值,要一个基本数据类型,那么就传入或者返回该基本数据类型的值。

二:若方法的形参或者返回值,要一个引用数据类型,那么就传入或者返回该引用。

  • 若方法的形参或者返回值,要一个数组类型,那么就传入或者返回数组名。
  • 若方法的形参或者返回值,要一个 类型,那么就传入或者返回该类的一个对象。
  • 若方法的形参或者返回值,要一个抽象类 类型,那么就传入或者返回该抽象类的一个子类对象。(抽象类不能实例化,可以采用多态形式)
  • 若方法的形参或者返回值,要一个接口 类型,那么就传入或者返回该接口的一个子类对象。(接口不能实例化,可以采用多态形式)
发布了44 篇原创文章 · 获赞 7 · 访问量 2468

猜你喜欢

转载自blog.csdn.net/Adelagirl/article/details/102689475