详解Java方法method的定义与调用及重载

目录
  • 方法的定义和调用
    • 什么是方法
    • 方法的声明格式
    • 方法的调用方式
    • 方法的详细说明
    • 总结
  • 方法的重载
    • 什么是方法重载
    • 构成方法重载的条件
    • 总结

方法的定义和调用

什么是方法

方法(method)就是一段用来完成特定功能的代码片段,类似于其它语言的函数(function)。

方法用于定义该类或该类的实例的行为特征和功能实现。 方法是类和对象行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法是从属于类和对象的。

方法的声明格式

[修饰符1 修饰符2 …] 返回值类型 方法名(形式参数列表){

Java语句;… … … }

方法的调用方式

对象名.方法名(实参列表);

方法的详细说明

  • 形式参数:在方法声明时用于接收外界传入的数据。
  • 实参:调用方法时实际传给方法的数据。
  • 返回值:方法在执行完毕后返还给调用它的环境的数据。
  • 返回值类型:事先约定的返回值的数据类型,如无返回值,必须显示指定为为void。

注意:Java中一切都是值传递

例如:我们要打印1-n的数,传统写法写在main方法里,但是当有多个值时,就要写多个for循环,这样,代码就重复多了。

public class TestCode02 {
    public static void main(String[] args) {
        int n1 = 10;
        for (int i = 1; i <= n1; i++) {
            System.out.print(i + " ");
        }
        System.out.println();
        //当有多个n时,都要每次写一遍for循环
        int n2 = 13;
        for (int i = 1; i <= n2; i++) {
            System.out.print(i + " ");
        }
        System.out.println();

        int n3=20;
        //for...

    }
}

我们把相同的代码提取出来,放在一个方法里,这样每次调用这个方法就行了,不必每次写相同的代码

public class TestCode02 {
    public static void main(String[] args) {
        int n1 = 10;
        printNnums(n1);
        int n2=12;
        printNnums(n2);
        int n3=14;
        printNnums(n3);
    }
    public static void printNnums(int n){
        for (int i = 1; i <= n; i++) {
            System.out.print(i + " ");
        }
        System.out.println();
    }
}

这样,我们有多个n时,就只调用一次方法就行了

总结

1.方法是:对特定的功能进行提取,形成一个代码片段,这个代码片段就是我们所说的方法

2.方法和方法是并列的关系,所以我们定义的方法不能写到main方法中

3.方法的定义–>格式:

修饰符 方法返回值类型 方法名(形参列表){
                方法体;
                return 方法返回值;
        }

4.方法的作用:提高代码的复用性

5.总结方法定义的格式:

  • 修饰符: public static
  • 方法返回值类型 : 方法的返回值对应的数据类型

数据类型: 可以是基本数据类型(byte,short,int,long,float,double,char,boolean) 也可以是引用数据类型

  • 方法名 :见名知意,首字母小写,其余遵循驼峰命名, eg: addNum ,一般尽量使用英文来命名
  • 形参列表 :方法定义的时候需要的形式参数 : int num1, int num2 -->相当于告诉方法的调用者:需要传入几个参数,需要传入的参数的类型;实际参数:方法调用的时候传入的具体的参数: 10,20 -->根据形式参数的需要传入的
  • 方法体:具体的业务逻辑代码
  • return 方法返回值:

方法如果有返回值的话: return+方法返回值,将返回值返回到方法的调用处

方法没有返回值的话:return可以省略不写了,并且方法的返回值类型为:void

  • 什么时候有返回值,什么时候没有返回值?–>看需求

6.方法的定义需要注意什么?

  • 形参列表要怎么写:定义几个参数,分别是什么类型的 —>不确定因素我们会当做方法的形参
  • 方法到底是否需要返回值 ,如果需要的话,返回值的类型是什么?

7. 方法的调用需要注意什么?

  • 实际参数要怎么传入:传入几个参数,传入什么类型的
  • 方法是否有返回值需要接受

方法的重载

什么是方法重载

方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。 调用时,会根据不同的参数自动匹配对应的方法。

注意本质:重载的方法,实际是完全不同的方法,只是名称相同而已!

构成方法重载的条件

  • 不同的含义:形参类型、形参个数、形参顺序不同
  • 只有返回值不同不构成方法的重载;(如:int add(int a,int b){}与 void add(int a,int b){}不构成方法重载)
  • 只有形参的名称不同,不构成方法的重载;(如:int add(int a){}与int add(int b){}不构成方法重载)
public class TestCode03 {
    public static void main(String[] args) {
        add(7,8);
        add(1.02,2.03);
        add(1,3,5);
        add(1,4,6,9);

    }
    //定义一个int型两数相加
    public static void add(int a,int b){
        System.out.println(a+"+"+b+"="+(a+b));
    }
    //定义一个double类型的两数相加
    public static void add(double a,double b){
        System.out.println(a+"+"+b+"="+(a+b));
    }
    //定义一个三个数相加
    public static void add(int a,int b,int c){
        System.out.println(a+"+"+b+"+"+c+"="+(a+b+c));
    }
    //四数相加
    public static void add(int a,int b,int c,int d){
        System.out.println(a+"+"+b+"+"+c+"+"+d+"="+(a+b+c+d));
    }
}

总结

  • 方法的重载:在同一个类中,方法名相同,形参列表不同的多个方法,构成了方法的重载。
  • 方法的重载只跟:方法名和形参列表有关,与修饰符,返回值类型无关。
  • 注意:形参列表不同指的是什么?

(1)个数不同

add() add(int num1) add(int num1,int num2)

(2)顺序不同

add(int num1,double num2) add(double num1,int num2)

(3)类型不同

add(int num1) add(double num1)

到此这篇关于详解Java方法method的定义与调用及重载的文章就介绍到这了,更多相关Java 方法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java构造方法和方法重载详解

    目录 第一 构造方法的作用 第二 构造方法的特点 方法重载 总结 类的结构包括 : 1. 成员变量 2. 成员方法 3. 构造方法 4. 代码块 5. 内部类 第一 构造方法的作用 主要有以下三方面的作用: (1)在构造方法中为创建的对象初始化赋值 (2)在创建一个对象的时候,至少需要调用一个构造方法 (3)每一个类都有构造方法 一个例子加深对以上三条的理解 public class Car{ String name; String color; float price; } 上一篇文章已经讲解

  • Java 方法的重载与参数传递详解

    目录 方法重载概述 方法重载特特点 方法重载练习 方法参数传递 方法参数传递(基本类型) 方法参数传递(引用类型) 方法重载概述 方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法互相构成重载 * 多个方法在同一个类中 * 多个放方法具有相同方法名 * 多个方法的参数不相同,类型不同或数量不同 方法重载特特点 * 重载仅对应方法的定义,与方法的调用无关,调用方法参照标准格式 * 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判断两个方法是否

  • java方法重载和参数类型自动提升方式

    目录 方法重载和参数类型自动提升 方法重载的意思是 对于基本类型数据而言 java基本类型重载 1.重载 2.基本类型重载 3.代码示例 4.重载解析过程 5.可行集获取的原则 方法重载和参数类型自动提升 方法重载的意思是 一个类中可以由多个方法具有相同的名字,但这些方法的参数必须不同, 参数不同是指满足下列之一: 参数的个数不同 参数的个数相同,但参数列表中对相应的某个参数的类型不同 对于基本类型数据而言 参数类型存在自动提升 以byte a = 1为例,存在如下自动提升方式: byte–>

  • Java 方法的定义与调用详解

    目录 1.方法概述 2.方法的定义和调用 2.1 方法定义 2.2 方法调用 2.3 方法的调用过程 2.4 方法练习 3.带参数方法的定义和调用 3.1带参数方法定义 3.2带参数方法调用 1.方法概述 什么是方法 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有图书功能的代码集 注意: 方法必须先创建才可以使用,该过程称为方法定义 方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用 2.方法的定义和调用 2.1 方法定义 格式: public stat

  • Java带返回值的方法的定义和调用详解

    目录 带返回值的方法练习 方法的注意事项 方法注意事项 方法通用格式 带返回值的方法练习 需求: 设计一个方法可以获取两个数的较大值,数据来自于参数 思路: 1. 定义一个方法,用于获取两个数中的较大数 public static int getMax(int a,int b){ } 2.使用分支语句分两种情况对两个数的大小进行处理 if (a>b) { }else{ } 3. 根据题设分别设置两种情况下对应返回值结果 if (a>b) { return a; }else{ return b;

  • Java中方法重写与重载的区别

    目录 一.重写(Override) 二.重载(Overload) 三.总结 Java方法重写(Override)与重载(Overload)的区别(超详细) 首页在我们要学习这个知识点之前,应该要先了解什么是多态? 在最初学习java的时候,人们都知道,java这种面向对象的语言,一共有三大特征,分别是:封装.继承.多态. 多态是同一个行为具有多个不同表现形式或形态的能力. 举个例子,比如大多数动物(抽象类)会叫,但是狗(实现类)就是汪汪汪,猫(实现类)就是喵喵喵. 多态实现的必要条件 子类必须继

  • Java 带参数与带返回值的方法的定义和调用

    目录 带参数方法的定义和调用 形参和实参 带参数方法练习 带返回值的方法的定义和调用 带返回值的方法定义 带返回值的方法调用 带参数方法的定义和调用 形参和实参 形参:方法定义中的参数 相当于变量定义格式,例int number 实参:方法调用中参数 等同于变量或常量,例如10   , number 带参数方法练习 需求: 设计一个方法用于打印两个数中最大数,数据来自于方法参数 思路: 1.定义一个方法,用于打印两个书中的最大数,例如getMax() public static void get

  • 详解Java方法method的定义与调用及重载

    目录 方法的定义和调用 什么是方法 方法的声明格式 方法的调用方式 方法的详细说明 总结 方法的重载 什么是方法重载 构成方法重载的条件 总结 方法的定义和调用 什么是方法 方法(method)就是一段用来完成特定功能的代码片段,类似于其它语言的函数(function). 方法用于定义该类或该类的实例的行为特征和功能实现. 方法是类和对象行为特征的抽象.方法很类似于面向过程中的函数.面向过程中,函数是最基本单位,整个程序由一个个函数调用组成.面向对象中,整个程序的基本单位是类,方法是从属于类和对

  • 详解JAVA中接口的定义和接口的实现

    1.接口的定义 使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成.定义接口的基本格式如下: [修饰符] interface 接口名 [extends 父接口名列表]{ public static final 常量; public abstract 方法; } 修饰符:可选,用于指定接口的访问权限,可选值为public.如果省略则使用默认的访问权限. 接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标

  • 详解 Java继承关系下的构造方法调用

    详解 Java继承关系下的构造方法调用 在Java中创建一个类的对象时,如果该类存在父类,则先调用父类的构造方法,然后再调用子类的构造方法.如果父类没有定义构造方法,则调用编译器自动创建的不带参数的默认构造方法.如果父类定义了public的无参的构造方法,则在调用子类的构造方法前会自动先调用该无参的构造方法.如果父类只有有参的构造方法,没有无参的构造方法,则子类必须在构造方法中必须显式调用super(参数列表)来指定某个有参的构造方法.如果父类定义有无参的构造方法,但无参的构造方法声明为priv

  • 详解Java中Method的Invoke方法

    在写代码的时候,发现从父类class通过getDeclaredMethod获取的Method可以调用子类的对象,而子类改写了这个方法,从子类class通过getDeclaredMethod也能获取到Method,这时去调用父类的对象也会报错.虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java是如何实现的,就学习了下Method的源代码.  Method的invoke方法 1.先检查 AccessibleObject的override属性是否为true. Accessib

  • 详解Java中接口的定义与实例代码

    Java中接口的定义详解 1.定义接口 使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成.定义接口的基本格式如下: [修饰符] interface 接口名 [extends 父接口名列表]{ [public] [static] [final] 常量; [public] [abstract] 方法; } 修饰符:可选,用于指定接口的访问权限,可选值为public.如果省略则使用默认的访问权限. 接口名:必选参数,用于

  • 详解Java注解的实现与使用方法

    详解Java注解的实现与使用方法 Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性.在如今各种框架及开发中非常常见,特此说明一下. 如何创建一个注解 每一个自定义的注解都由四个元注解组成,这四个元注解由java本身提供: @Target(ElementType.**) 这是一个枚举,它置顶是该自定义的注解使用的地方,像类.变量.方法等 @Retention(RetentionPolicy.**)作用是标明注解保存在什么级别,像在编译时.class文件中,vm运行中 @D

  • 详解Java中native方法的使用

    今天在网上学习时碰到有关于 native修饰符所修饰的方法,上网查了查,觉得很有意思记录一下 1.native简介 简单地讲,一个Native Method就是一个java调用非java代码的接口.一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C.这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数. native是与C++联合开发的时候用的!使用nat

  • 详解Java的桥接方法

    什么是桥接方法? Java中的桥接方法(Bridge Method)是一种为了实现某些Java语言特性而由编译器自动生成的方法. 我们可以通过Method类的isBridge方法来判断一个方法是否是桥接方法. 在字节码文件中,桥接方法会被标记为ACC_BRIDGE和ACC_SYNTHETIC,其中ACC_BRIDGE用于表示该方法是由编译器产生的桥接方法,ACC_SYNTHETIC用于表示该方法是由编译器自动生成. 什么时候生成桥接方法? 为了实现哪些Java语言特性会生成桥接方法?最常见的两种

  • 详解Java中方法重写和方法重载的6个区别

    目录 1.方法重写 1.1 基本用法 1.2 使用场景 1.3 注意事项 2.方法重载 2.1 基本使用 2.2 使用场景 2.3 注意事项 3.方法重写 VS 方法重载 总结 方法重写(Override)和方法重载(Overload)都是面向对象编程中,多态特性的不同体现,但二者本身并无关联,它们的区别犹如马德华之于刘德华的区别,除了名字长得像之外,其他的都不像. 接下来咱们就来扒一下二者的具体区别. 1.方法重写 方法重写(Override)是一种语言特性,它是多态的具体表现,它允许子类重新

  • 详解Java 本地接口 JNI 使用方法

    详解Java 本地接口 JNI 使用方法 对于Java程序员来说,Java语言的好处和优点,我想不用我说了,大家自然会说出很多一套套的.但虽然我们作为java程序员,但我们不得不承认java语言也有一些它本身的缺点.比如在性能.和底层打交道方面都有它的缺点.所以java就提供了一些本地接口,他主要的作用就是提供一个标准的方式让java程序通过虚拟机与原生代码进行交互,这也就是我们平常常说的java本地接口(JNI--java native Interface).它使得在 Java 虚拟机 (VM

随机推荐