Java面向对象(3.1)--方法的重载,可变个数的形参,值传递机制,递归

重载

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

与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类
型或者多个参数时参数类型顺序)。调用时,根据方法参数列表的不同来区别。

public void getSum(int i,int j){System.out.print(i + j);
}
public void getSum(double i,double j){System.out.print(i + j);
}
public void getSum(String i,int j){System.out.print(i + j);
}
public void getSum(int i,String j){System.out.print(i + j);
}

可变个数的形参

允许直接定义能和多个实参相匹配的形参。

基本格式:方法名(参数的类型名 ...参数名){}

方法参数部分指定类型的参数个数是可变多个:0个,1个或多个。

可变个数形参的方法与同名的方法之间,彼此构成重载。

方法的参数部分有可变形参,需要放在形参声明的最后。在一个方法的形参位置,最多只能声明一个可变个数形参。例如public static void test(int a ,String…books);

public void testOne(String[] msg){System.out.println(“含字符串数组参数的test方法 ");
}
//第一个testTwo方法
public void testTwo(String book){System.out.println(****与可变形参方法构成重载的test1方法****");
}
//第二个testTwo方法
public void testTwo(String ... books){System.out.println("****形参长度可变的test1方法****");
}
public static void main(String[] args){TestOverload to = new TestOverload();//下面执行第一个testTwo方法to.testTwo("aa");//下面两次调用将执行第二个testTwo方法to.testTwo();to.testTwo("aa" , "bb");//下面将执行testOne方法to.testOne(new String[]{"aa"});
}

可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。也就是说两者不能共存。例如上面示例中需要将testOne和testTwo的第二个定义成不同名的。


值传递机制

形参:方法定义时,声明的小括号内的参数
实参:方法调用时,实际传递给形参的数据

规则:
如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。
如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。


递归

一个方法体内调用它自身。

方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。

递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347759.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python统计图像直方图_计算机视觉7-像素点直方图统计、掩膜图像

1.灰度图的直方图(1)调用库import cv2import matplotlib.pyplot as pltimport numpy as np #创建掩膜时需要(2)绘图-方法1imgcv2.imread(F:cat.jpg,0)plt.hist(img.ravel(),256,[0,256])plt.show()plt.hist是一个画直方图的命令;img.ravel()可以将图片转化成一维数组…

计算机二级web题目(8.1)--综合选择题2

前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击跳转人工智能学习资料) 1、一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再…

java支持的数据类型有哪些_Java支持的数据类型有哪些?什么时候自动装拆箱?...

java中的8种基本数据类型:boolean byte char short int float double long自动拆装箱的问题引入:由于在一开始学习java的时候,”万物皆对象“这种面向对象的看问题方式,时刻围绕在脑海中。因为静态的变量和基本数据类型不属于对象…

Java面向对象(4)--封装和隐藏

Java中通过将数据声明为私有的(private),再提供公共的(public)方法:获取getXxx()和设置setXxx()实现对该属性的操作,以实现下述目的: ①隐藏一个类中不需要对外提供的实现细节。 ②使用者只能通过事先定制好的方法来访…

跑来跑去:假人与AWS Lambda的第一次接触

一切始于埃及人在一个木框上滑动几块大理石以简单的算术使其大脑放松。 或许是希腊人发明了Antikythera机制来追踪行星的运动至每千年2度的精度 。 无论哪种方式,计算都已经走了很长一段路:查尔斯巴贝奇的分析引擎 ,艾伦图灵的Enigma-breaker…

(2.1)HarmonyOS鸿蒙Ability创建,XML和Java页面布局UI

鸿蒙UI中,提供了两种编写布局的方式: ①在XML中声明UI布局 ②在Ability代码中直接通过Java创建布局 这两种方式创建出的布局没有本质差别,但是XML方式较为方便简单。 在XML文件中布局 与HTMLCSS的前端布局类似,通过使用不同类型的…

cstring越界_CString和char*的转换

方法1、const char*转换CString str;const char *p(const char*)str;const char *表示你对字符串只读,所以这时候可以直接获取。方法2、使用强制类型转换如需要对字符串写权限,则:CString str;char *p (char *)(const char *)str;方法3、使用…

使用Azure Blob存储托管Maven工件

如果您使用Microsoft Azure并且将Java用于项目,则Azure Blob存储是托管团队工件的理想场所。 它很容易设置,而且很便宜。 如果您对它们的功能不特别感兴趣,那么它比设置现有存储库选项(jfrog,nexus,archiv…

(2.2)HarmonyOS鸿蒙页面跳转

本文页面跳转基于《Ability创建子页面布局》所存在的两个页面MainAbility和SecondAbility。 在MainAbilitySlice中进行代码编写 package com.example.myapplication.slice;import com.example.myapplication.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import o…

java 将换行代替_Java批量将文件中的段落替换成空格,根据指定分隔符换行(SQL示例)...

我的需求是SQL文件中有成千的类似数据,我要将它们进行转换格式,如下图第一步:将字符段楼替换,使用word排版把数据拷贝到word中,使用特殊字符替换点击全部替换,替换之后如下图,这时候它是一串很长…

wicket_Wicket模型的干净方法

wicketApache Wicket Web框架的核心概念之一是模型和IModel作为其编程接口。 Wicket组件严重依赖模型,这使它们成为体系结构的重要组成部分。 Apache Wicket是一个有状态框架,将页面及其组件存储到通常位于HTTP会话中的页面存储中。 组件根据模型的内容创…

计算机二级web题目(8.2)--基本操作题2

前些天发现了一个巨牛的人工智能学习电子书,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击跳转人工智能学习资料) 1.在考生文件夹下的Web1目录中,存有1.htm文件,该文件不完…

java的选项板_CAD工具选项板的介绍以及新建方法

CAD中的工具选项板是【工具选项板】窗口中选项卡形式的区域,不但能提供组织、共享和放置块及填充图案的很有效的方法,还能够包含由第三方开发人员提供的自定义工具。【工具选项板】窗口包括注释、建筑、机械、电力、图案填充和土木工程等选项板。当需要向…

摆脱“空”检查的盛宴:使用JSON Patch正确执行PATCH

今天,我们将就REST(ful)服务和API进行一次对话,更准确地说,围绕许多经验丰富的开发人员正在努力解决的一个独特主题。 为了使事情更直观,我们将讨论Web API,其中REST(ful&#xff09…

Java面向对象(5)--类的成员构造器(构造方法)

创建对象;给对象进行初始化。 ①隐式无参构造器(没有创建时,系统默认提供的) ②显式定义一个或多个构造器(无参、有参) 基本格式 修饰符 类名 (参数列表) {初始化语句; }特征 ①它具有与类相…

java单链表 提供增删改查_java实现单链表增删改查的实例代码详解

package 数据结构算法.链表;/**定义节点* 链表由节点构成*/public class node {private e e; //数据dataprivate node next; //指向下一个节点public node() {}public node(e e) {this.e e;}public node getnext() {return next;}public void setnext(node next) {this.next …

Java面向对象(6)--this关键字使用

this可理解为:当前对象或当前正在创建的对象 ①在类的方法中, 我们可以使用"this.属性"或"this.方法"的方式,调用当前对象属性或方法。通常情况下,我们都选择省略"this."。特殊情况下,如果方法的形…

spring 4.3.x_如何在Spring 3.x中使用事件

spring 4.3.x创建松耦合应用程序的概念和技术很多,Event是其中之一。 事件可以消除代码中的许多依赖关系。 有时没有事件,很难实施SRP *。 Java中的Observable接口可以帮助我们实现事件(通过Observer Pattern)。 但是&#xff0c…

java接口安全怎么处理_Restful API 接口安全性设计

1.API接口设计规范2.安全性设计a.白名单限制仅接受特定系统的请求响应,调用方的IP地址需要在本系统中报备,否则无法调用b.合法身份合法性验证Basic Authentication :这种方式是直接将用户名和密码放到Header中,使用 Authorization: Basic Zm9…

使用Spring开发Java RESTful Web服务的7个理由

REST现在已成为开发Web服务的标准方法,涉及Java时,可以使用许多框架和库,例如JAX-RS,Restlet,Jersey,RESTEasy,Apache CFX等,但是我鼓励Java开发人员使用Spring框架来开发Java。开发…