方法_方法重载 - CSDN
方法 订阅
方法是一个汉语词汇,方法的含义较广泛,一般是指为获得某种东西或达到某种目的而采取的手段与行为方式。方法在哲学,科学及生活中有着不同的解释与定义。 展开全文
方法是一个汉语词汇,方法的含义较广泛,一般是指为获得某种东西或达到某种目的而采取的手段与行为方式。方法在哲学,科学及生活中有着不同的解释与定义。
信息
外文名
method
【近义词】
措施、法子、办法、对策
别    名
方式/法子
中文名
方法
性    质
手段与行为方式
方法词语释义
【拼音】:fāng fǎ【词义】:方法是用来模拟类所具有的能力,动作或者行为,一般为名词。【近义词】:措施、法子、对策1. (名)指关于解决问题的门路、程序等。 [1]  并列式:方+法 [1]  工作~很好。(作主语) [1]  (3) 现指为达到某种目的而采取的途径、步骤、手段等软件编程语言中,如果将函数定义为类定义的一部分或者将它与某个对象绑定,则该函数称为方法
收起全文
精华内容
参与话题
  • 方法的定义及调用

    千次阅读 多人点赞 2018-07-27 08:44:23
    一、方法的声明 1、方法是完成某个功能的一组语句,通常将某个功能写成一个方法 2、定义方法就是编写有特定功能的一段代码,在程序中使用同样功能的地方可以调用定义好的方法,实现代码的重用 方法声明或称为定义...

    一、方法的声明

    1、方法是完成某个功能的一组语句,通常将某个功能写成一个方法

    2、定义方法就是编写有特定功能的一段代码,在程序中使用同样功能的地方可以调用定义好的方法,实现代码的重用

    方法声明或称为定义方法

    语法格式:

    [访问控制符] [修饰符] 返回值类型 方法名 (参数类型  形式参数,参数类型  形式参数,...)

    public  static  void main(String [] args){

    方法体:是一个语句块,执行特定的功能操作

    }

    二、方法的分类

    1、根据参数的个数:有参方法、无参方法

    2、根据返回值的类型:

                                            有返回值的方法:基本数据类型和引用数据类型

                                            无返回值的方法:void关键字

    二、方法的调用

    在方法的入口传一些值(参数),在方法的出口得到方法执行的结果(返回值)。

    需要根据方法名称嗲用方法,方法只有在被调用后才生效。

    方法调用的分类:

    1、按照参数:

    无参方法的调用

     

    有参方法的调用:给方法的入口一些值(实参),供参,实参和形参的数量,类型,顺序必须匹配,实参可以是常量也可以是有值的变量

    有参无返回值代码实现:

    
     
    1. public class FunctionDemo {

    2. public static void show(int x,int y ) {

    3. System.out.println(x+y);

    4. }

    5. public static void main(String[] args) {

    6. show(2,3);

    7. }

    8. }

    2、按照返回值

    无返回值方法的调用

    有返回值方法的调用

    有参有返回值代码实现:可以声明同类型变量接受方法的返回值,也可以不声明变量接收方法的返回值

    
     
    1. public class FunctionDemo {

    2. public static int show(int x,int y ) {

    3. return x+y;

    4. }

    5. public static void main(String[] args) {

    6. int a = show(2,3);

    7. show(2,3);

    8. }

    9. }

    3、按照位置

    同一个类方法调用

    不同类方法调用

    方法注意问题:

    1、形参必须注明数据类型,实参直接写,不需要类型声明

    2、return只能返回一次

    3、遇到return语句,方法结束执行,后续语句不执行;

    4,方法的返回值,必须与方法中的返回值类型想匹配

    5、方法定义不能写在main中;

    6、方法是不能嵌套的;

    三、方法的重载

    方法的重载就是允许一个类中同时存在一个以上同名的方法

    方法重载的规则:

    1、方法的名称相同

    2、方法的参数必须不同:参数个数不同或者参数的类型不同

    3、方法的返回值可以相同,也可以不同

    方法的重载示例:

     

    展开全文
  • Java方法的详细介绍

    万次阅读 多人点赞 2020-10-20 15:57:15
    Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,...

    Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,并且起一个名字。使用代码的时候,直接找到名字调用即可。

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

    • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
    • 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void
    • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
    • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
    • 方法体:方法体包含具体的语句,定义该方法的功能。

    首先了解关于方法的两个概念:

    1.参数:是指进入方法中的数据,有了这些数据,方法才能执行逻辑。

    2.返回值:是指从方法中出来的数据,也就是方法执行之后的最终结果数据。

    目前定义方法的基本格式:

    修饰符   返回值类型  方法名称(参数类型   参数名称){

    方法体

    return    返回值;

    }

    对于定义格式的解释:

    修饰符:现阶段固定为public static两个关键字。

    返回值类型:方法最终产生的结果数据是什么类型。

    方法名称:自定义的名称,命名规则和变量一样。

    参数类型:进入方法的数据是什么类型。

    参数名称:进入方法的数据对应的变量名称。

    方法体:方法内部执行的若干行代码。

    return:结束方法的执行,并且将返回值返还给调用处。

    返回值:方法最终产生的结果数据。

    注意:

    返回值必须和返回值类型对应。

    参数如果有多个,需要使用逗号分隔。

    参数如果没有,小括号则可以留空。

    多个方法的定义先后顺序无所谓。

    不能在一个方法内部定义方法。

    方法定义之后,没有调用就不会执行;要想执行,一定要调用它。

    常见的有三种:

    单独调用。这种方式无法使用方法的返回值。格式:方法名称(参数值);

    打印调用。这种方式可以将方法的返回值直接打印。格式:System.out.println(方法名称(参数值));

    赋值调用。这种方式可以将方法的返回值赋值给一个变量,注意变量的数据类型必须和方法的返回值类型对应。格式:数据类型变量名称= 方法名称(参数值)

    调用流程

    重名问题

    变量的名称是否可以与方法名称重名?可以。

    两个不同的方法中,能否各自有一个重名的变量?可以。

    无返回值的方法

    定义格式

    修饰符 void 方法名称(参数类型参数名称){

    方法体

    return;

    }

    修饰符:与普通方法一样

    返回值类型:固定为void

    方法名称:与普通方法一样

    参数类型:与普通方法一样

    参数名称:与普通方法一样

    方法体:与普通方法一样

    return:后面不能写返回值,直接分号结束。而且最后一行return通常情况下会省略不写。

    方法重载

    对于参数列表不一样的多个方法,如果设置不一样的方法名称会很麻烦,所以引入了方法重载(Overload)的技术。

    方法重载:方法名称相同,但是参数列表不同,参数列表的不同包括:

    1.参数的个数不同;

    2.参数的类型不同;

    3.参数的多类型顺序不同。

    重载与下列因素无关:

    1.方法的返回值;

    2.参数的名称--如果新建的方法传入的参数以及顺序与已有的一样。

    参数传递

    形式参数:在“定义方法”的时候,写在小括号之内的变量,就叫形式参数。

    实际参数:在“调用方法”的时候,真正传入方法里的数据,叫做实际参数。

    两条规则:

    对于基本类型(以及String)来说,形式参数的操作【不会】影响实际参数。

    对于引用类型(除了String)来说,形式参数的操作【会】影响实际参数。

    对任何语言来说,方法或者函数解决了需要重复使用的代码的次数.! ! !

    展开全文
  • Java方法的定义和使用

    万次阅读 多人点赞 2018-10-24 22:22:57
    方法的最大好处是可以进行重复调用,但是至于说那些操作要形成方法,这些都要根据你的实际项目经验而自我总结的。 方法的基本定义 限制条件:在主类中定义,并且由主方法直接调用的方法形式。 方法就是一段可以被...

    方法的最大好处是可以进行重复调用,但是至于说那些操作要形成方法,这些都要根据你的实际项目经验而自我总结的。
    ##方法的基本定义
    限制条件:在主类中定义,并且由主方法直接调用的方法形式。
    方法就是一段可以被重复调用的方法块。在Java中要想进行方法的定义,则可以使用如下的语法完成。

    public static 返回类型 方法名称([参数类型 变量, ......]) {
    	方法体代码;
    	[return [返回值];]
    }
    

    在定义方法的时候对于方法的返回值有一下的两类:

    • void:没有返回值;

    • 数据类型(基本类型,引用类型)。

    范例: 定义一个没有返回值,没有参数的方法

    public class TestDemo {
    	public static void main(String[] args) {
    		print();	//主方法里面直接调用方法
    	}
    	public static void print() {
    		System.out.println("Hello	World!"); //定义方法
    	}
    }
    

    范例: 定义一个有参数无返回值的方法

    public class TestDemo {
    	public static void main(String[] args) {
    		print("Hello");	//主方法里面直接调用方法
    		print("	world");
    		print("!");
    	}
    	public static void print(String msg) {	//定义方法
    		System.out.print(msg); 
    	}
    }
    

    范例: 有参数有返回值的方法

    public class TestDemo {
    	public static void main(String[] args) {
    		int result = add(10, 20);
    		System.out.println(result);
    		//既然方法有返回值,那么这些返回值也可以直接输出
    		System.out.println(add(100, 200));
    	}
    	public static int add(int x, int y) {	//定义方法
    		return x + y;
    	}
    }
    

    但是在定义方法的时候有一点特别要注意,如果某一个方法上使用了void定义,那么该方法可以直接用return来结束调用。一般而言,这种return的处理往往需要结合if判断来实现。

    public class TestDemo {
    	public static void main(String[] args) {
    		print(10);
    		print(20);
    	}
    	public static void print(int x) {	//定义方法
    		if(x == 20)		//表示的是方法结束的判断
    			return;		//此语句之后的代码不再执行
    		System.out.println("x = " + x);
    	}
    }
    

    对于第一次接触方法的人来讲,先将语法记住,至于怎么用,需要时间来消化。
    ##方法重载(重点)
    方法重载指的是:方法名称相同,参数的类型和个数不同。

    范例: 实现方法重载

    public class TestDemo {
    	public static void main(String[] args) {
    		//此时将根据参数的类型和个数的不同执行不同的方法体
    		System.out.println(add(10, 20));
    		System.out.println(add(30, 40, 50));
    		System.out.println(add(1.1, 2.1));
    	}
    	public static int add(int x, int y) {
    		return x + y;
    	}
    	//此时方法名称相同,参数的个数不同
    	public static int add(int x, int y, int z) {
    		return x + y + z;
    	}
    	public static double add(double x, double y) {
    		return x + y;
    	}
    }
    

    在进行方法重载的时候有一个重要的原则:要求方法的返回值类型一定要相同。

    范例: 观察如下程序

    public class TestDemo {
    	public static void main(String[] args) {
    		//此时将根据参数的类型和个数的不同执行不同的方法体
    		System.out.println("hello");   //输出字符串
    		System.out.println(1);			//输出整形
    		System.out.println(1.1);		//输出浮点型
    		System.out.println('A');		//输出字符
    		System.out.println(true);		//输出布尔
    	}
    }
    

    证明:System.out.println()是一个被重载的方法

    方法递归调用

    方法的递归调用指的是一个方法自己调用自己的形式。一般如果要进行方法的递归操作往往都具备有以下的特点:

    • 方法必须有一个递归的结束条件;

    • 方法在每次递归处理的时候一定要做出一些变更;

    范例: 实现1 ~ 100的累加操作

    public class TestDemo {
    	public static void main(String[] args) {
    		System.out.println(sum(100));
    	}
    	public static int sum(int num) {
    		if(num == 1)
    			return  1;
    		return num + sum(--num);
    	}
    }
    
    1. [main()调用] 第1次执行sum()方法 return 100 + sum(99);
    2. [sum()递归] 第2次执行sum()方法 return 99 + sum(98);
    3. [sum()递归] 第3次执行sum()方法 return 98 + sum(97);
    4. [sum()递归] 倒数第2次执行sum()方法 return 2 + sum(1);
    5. [sum()递归] 倒数第1次执行sum()方法 return 1;

    范例: 实现60!,这个结果太大,应该使用double。

    public class TestDemo {
    	public static void main(String[] args) {
    		System.out.println(mul(60));
    	}
    	public static double mul(int num) {
    		if(num == 1)
    			return  1;
    		return num * mul(--num);
    	}
    }
    

    通过代码可以发现使用while循环的操作其实大部分都可以更换为递归,之所以使用递归主要是一个方法可以执行的操作很多,而且结构要好。

    展开全文
  • 函数和方法的区别

    万次阅读 多人点赞 2017-12-31 23:29:55
    转载 节选 经常谈论起函数和方法,也常常搞不清楚它们之间的界限,经常把两个混用。首先来看看,两者是如何定义的?... 函数(function)是可以执行的javascript代码块,由javascript程序定义或... 方法(meth

    转载

    节选


    经常谈论起函数和方法,也常常搞不清楚它们之间的界限,经常把两个混用。首先来看看,两者是如何定义的?

      函数(function)是可以执行的javascript代码块,由javascript程序定义或javascript实现预定义。函数可以带有实际参数或者形式参数,用于指定这个函数执行计算要使用的一个或多个值,而且还可以返回值,以表示计算的结果。

      方法(method)是通过对象调用的javascript函数。也就是说,方法也是函数,只是比较特殊的函数。假设有一个函数是fn,一个对象是obj,那么就可以定义一个method:



    有些概念我一直很困惑,譬如“面向对象”、“类”和“实例化”。

    希望有人能用简洁的话语帮我解释下方法(method)和函数(function)的区别。在google上找到的那些答案对我来说太难理解了。 谢谢。

    这个问题还是 willc2 在 2008 年 9 月 30 日在 StackOverflow 上提问的。

    下面先来看看被选为最佳答案的回复(来自  Andrew Edgecombe ):

    函数是一段代码,通过名字来进行调用。它能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。

    所有传递给函数的数据都是显式传递的。

    方法也是一段代码,也通过名字来进行调用,但它跟一个对象相关联。方法和函数大致上是相同的,但有两个主要的不同之处:

    1. 方法中的数据是隐式传递的;
    2. 方法可以操作类内部的数据(请记住,对象是类的实例化–类定义了一个数据类型,而对象是该数据类型的一个实例化)

    以上只是简略的解释,忽略了作用域之类的问题。

    Raffi Khatchadourian 对 Andrew Edgecombe 答案的补充:

    对于 1),你应当再加上“ 方法在 C++ 中是被称为成员函数”。因此,在 C++ 中的“方法”和“函数”的区别,就是“成员函数”和“函数”的区别。此外,诸如 Java 一类的编程语言只有“方法”。所以这时候就是“静态方法”和“方法”直接的区别。

    对于2),你应当补上方法可以操作已在类中声明的私有实例(成员)数据。其他代码都可以访问公共实例数据。

    Aaron 的回答:

    方法和对象相关;

    函数和对象无关。

    Java中只有方法,C中只有函数,而C++里取决于是否在类中。


    展开全文
  • java中的方法究竟是什么???

    千次阅读 2018-05-20 10:05:35
    我们知道一个类的类体是由两部分组成:变量的声明和方法的定义。而方法的定义包括两部分:方法头和方法体。方法头{具体的内容}方法头可以由方法的类型,名称和名称之后的括号以及有参数的列表组成。如有参数的方法头...
  • __str__()方法

    千次阅读 2018-07-23 00:08:26
    定义__str__()方法 class Cat: """定义一个猫类""" def __init__(self, new_name, new_age): """在创建完对象之后 会自动调用, 它完成对象的初始化的功能"...
  • 方法

    千次阅读 2020-03-01 22:52:27
    方法为如下形式的递归式提供了一种 “ 菜谱” 式的求解方法: T(n)=aT(nb)+f(n)T(n) = aT(\frac{n}{b}) + f(n)T(n)=aT(bn​)+f(n) 其中a⩾1a \geqslant 1a⩾1和b>1b > 1b>1是常数,...
  • 【Java】05 面向对象

    千次阅读 2020-04-12 16:03:25
    Java是纯粹的面向对象编程语言,完全支持面向对象的三大基本特征:封装、继承和多态。Java程序的组成单位就是类,不管多大的Java应用程序,都是由一个个类组成的。
  • ruby元编程2------method

    万次阅读 2016-01-28 14:41:50
    1. 动态方法  obj.send(:test, '1'), 这样就可以动态调用obj 的test 方法, 1 是参数  好处:可以在程序执行的时候确定具体的要执行哪一个方法;  send 方法的使用可以直接调用类的私有方法;  方法可以动态的...
  • JAVA核心知识点--本地方法

    万次阅读 2019-03-27 20:53:25
    目录 一. 什么是本地方法 ...一个本地方法是这样一个java方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告...
  • android onTouch()与onTouchEvent()的区别

    万次阅读 热门讨论 2012-05-10 16:06:48
    1.onTouch方法: onTouch方法是View的 OnTouchListener借口中定义的方法。 当一个View绑定了OnTouchLister后,当有touch事件触发时,就会调用onTouch方法。 (当把手放到View上后,onTouch方法被一遍一遍地被调用...
  • iOS 类方法与实例方法

    万次阅读 2020-03-29 19:50:40
    所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法,静态速度很快,但是多了会占内存。 静态内存是连续的,因为是在程序开始时就生成了,而实例申请的是离散的空间,所以当然没有静态方法快, 而且...
  • 8.1 方法概述 8.1.1 方法的简介 8.1.2 方法的类 8.1.3 自定义方法简介 8.1.3 自定义方法调用 8.1.4 实践练习 8.2 无参数无返回值方法 8.2.1 无参数返回值的方法的定义和调用 8.2.2 方法的调用过程 8.2.2 ...
  • Java-重载和重写的区别

    万次阅读 多人点赞 2020-04-03 15:06:37
    【重写和重载的区别,是经历面试的时候面的比较多的吧,在学习过程中,整理了一下这两者的区别,希望能够帮助...重载,意味着本类有同样的方法,重新载入一个相同的方法名而不同的参数列表】这样理解会不会好记一点~~~
  • 快速入门Scala(五):方法与函数

    万次阅读 2019-04-20 15:08:11
    Scala中包含方法与函数,二者在语义上的区别很小。Scala的方法是类的一部分,而函数是一个对象可以赋值给一个变量。Scala 中的方法跟 Java 的类似,方法是组成类的一部分,而函数则是一个完整的对象,Scala中的函数...
  • 浅论ViewController的加载

    万次阅读 2012-05-12 16:36:51
    二者没有什么不同,init最终还是要调用initWithNibName方法(除非这个ViewController没有nib文件)。我们经常在initWithNibName方法中初始化视图,变量或者其他成员。这是最常见的initWithNibName方法写法:- (id)...
  • 分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来...不可以,静态方法只能访问静态成员,因为非静态方法的调用要先创建对象,在调用静态方法时可能对象并没有被初始化。 ...
  • 抽象类、接口和内部类(上)

    万次阅读 2017-07-03 12:32:29
    由abstract修饰的方法为抽象方法,抽象方法即只有方法的定义,没有方法体实现,用一个分号结尾。即方法五要素中,抽象方法缺少了一个要素(即:方法体)。也可以将抽象方法理解为不完整的方法。 若将抽象方法包含在...
  • 线程同步和线程死锁

    万次阅读 多人点赞 2012-08-05 05:59:28
    为什么有这个东西呢,假如有一个对象,里面有成员变量和方法,如果有很多线程都想访问它们,有可能造成用户想避免的结果。 我也举那个经典的例子:假如你的银行账户里面有2000块钱,有一天你去银行柜台取钱,取...
  • JAVA设计模式--模板方法模式

    万次阅读 2019-03-26 10:18:47
    一、什么是模板方法模式 二、模板方法模式的结构 三、模板方法模式相关知识点 四、模板方法模式的适用性 五、模板方法模式的优缺点 六、总结 一、什么是模板方法模式 模板方法(TemplateMethod)模式是一种对象...
1 2 3 4 5 ... 20
收藏数 11,973,892
精华内容 4,789,557
关键字:

方法