什么是可变长度的参数,方法重载,递归

  1. 什么是可变长度的参数

a)         类似于public int add(int ... num){}

i.              使用这种可变长度的参数,我们可以在实参位置输入不定个数的值>=0个

ii.              当然可变参数前仍可以添加其它的参数

b)        类似于public int add(double num1,int ... num2){}

i.              一个方法中可变参数只能放在最后,并且有且仅有一个,使用时和数组类似,相当于将传递进去的多个参数存放在了一个数组中

  1. 方法重载

a)         什么是方法重载?——在Java一个类中有相同名称,但有不同参数列表的方法,称为重载

b)        哪些属于重载

i.              参数个数不同

ii.              参数类型不同

iii.              当其中拥有两个以上的不同类型参数时,参数顺序不同

  1. 递归

a)         什么是递归——程序调用自身的编程技巧称为递归--程序自己调用自己

b)        递归有什么作用呢?

i.              把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量

ii.              但是递归对栈的压力更大

c)         如何使用递归

i.              如果递归没有界限,则会一直引用其方法本身来计算,直至电脑内存溢出,所以一般都会给递归加上一个界限

时间: 2024-10-09 13:33:21

什么是可变长度的参数,方法重载,递归的相关文章

java可变参数方法重载的注意事项

1.可变参数方法与数组参数方法重载 public class MethodParams{ //带可变参数的方法 public void hello(String ...params) { System.out.println("执行带可变参数的方法,参数个数为:" + params.length); } //带数组参数的方法 public void hello(String[] params) { System.out.println("执行带数组参数的方法,数组长度为:&q

(1)构造方法和方法重载 (2)this关键字 (3)方法的传参和递归调用

1.构造方法和方法重载如: Person p = new Person(); - 声明Person类型的引用p指向Person类型的对象 p.show(); - 调用名字为show()的成员方法 1.1 构造方法(重中之重)(1)语法格式 class 类名{ 类名(形参列表){ 构造方法体; } }如: class Person{ Person(){ } } (2)使用方式 a.构造方法的名称与类名完全相同,并且没有返回值类型,连void都不许有: b.当创建新对象时会自动调用构造方法来进行该对

JavaSE 可变参数的方法重载

1 /** 2 * 可变参数的方法重载 3 */ 4 class A { 5 public void test(int a, int b) { 6 System.out.println(a+", "+b); 7 } 8 9 public void test(int...params) { 10 for(int i=0; i<params.length; i++) { 11 if(i!=0) { 12 System.out.print(", "); 13 } 1

c#方法重载,可选参数,命名参数。

其实这里没什么可说哦,c++的语法大同小异.先看一段代码. class Program { public static void Test(int a) { Console.WriteLine("只有一个参数a=={0}", a); } public static void Test(int a, int b = 5) { Console.WriteLine("有两个参数a=={0},b=={1}", a, b); } static void Main() { Te

【java】深入了解JAVA可变长度的参数

到J2SE 1.4为止,一直无法在Java程序里定义实参个数可变的方法——因为Java要求实参(Arguments)和形参(Parameters)的数量和类型都必须逐一匹配,而形参的数目是在定义方法时就已经固定下来了.尽管可以通过重载机制,为同一个方法提供带有不同数量的形参的版本,但是这仍然不能达到让实参数量任意变化的目的. 然而,有些方法的语义要求它们必须能接受个数可变的实参——例如著名的main方法,就需要能接受所有的命令行参数为实参,而命令行参数的数目,事先根本无法确定下来. 对于这个问题

方法重载注意的问题

重载方法的参数分别是基本数据类型和对应的包装类 调用规则: 1.如果实参是基本数据类型 先找到带有该类型参数的方法,找不到则扩大范围继续找 前面的步骤找不到,则带有装箱之后的包装类型参数的方法 2.如果实参是包装类型 先找到该包装类型的方法,如果没有匹配,不会扩大范围,而是按照父子类的规则传参 如果上面的匹配找不到,则将包装类拆箱来匹配参数或扩大范围 3如果重载的方法是在参数上的区别是,固定数量的参数与可变长度的参数,则优先调用完全匹配参数数量的方法

Java学习资料-方法覆盖、方法重载、多态与动态绑定

1.方法覆盖 方法覆盖就是子类定义一个和父类同名的方法来覆盖父类的方法.当父类方法在某些子类中被覆盖后,通常是子类调用父类,并做一些额外的其它工作. 使用方法覆盖应注意下面一些事项: 不使用super而希望引用父类方法会导致无限的递归,因为子类方法实际上是在调用它自己. 当通过父类引用调用一个方法时,Java会正确地选择与那个对象对应的类的覆盖方法.对于父类提供的方法,子类可以覆盖它,但这不是必须的,即子类也可以使用一个方法的父类版本. 方法覆盖中,子类在重新定义父类已有的方法时,应保持与父类完

对Java方法、方法重载的理解

一.方法 1.什么是方法方法就是一个代码片段,在其他地方被引用,类似于C语言当中的"函数".2.方法的命名规则必须以字母.下划线或'$'符号开头:可以包括数字,但不能以他开头.3.方法的基本语法 // 方法定义 public static 方法返回值 方法名称([参数类型 形参 ...]){ 方法体代码; [return 返回值]; } // 方法调用 返回值变量 = 方法名称(实参...); 注意:方法定义时的参数称为 "形参", 方法调用时的参数称为 "

学java教程之普通方法重载

学编程吧学java教程之普通方法重载发布了,欢迎通过xuebiancheng8.com来访问 先来看什么是普通方法重载呢,先来看一个例子 public class Person{ String username; int age; public void hello(){ System.out.println("Hello"); } public void hello(String username){ System.out.println("你好"+usernam