>  기사  >  Java  >  Java 메소드 정의, 메소드 호출 및 오버로딩

Java 메소드 정의, 메소드 호출 및 오버로딩

WBOY
WBOY앞으로
2023-05-16 09:04:051932검색

메서드 정의 및 호출

메서드란 무엇인가요?

메서드는 다른 언어의 함수와 유사하게 특정 함수를 완성하는 데 사용되는 코드 조각입니다.

메서드는 클래스 또는 클래스 인스턴스의 동작 특성과 기능적 구현을 ​​정의하는 데 사용됩니다. 메소드는 클래스와 객체의 동작 특성을 추상화한 것입니다. 메소드는 절차지향 프로그래밍의 함수와 매우 유사합니다. 프로세스 지향에서는 함수가 가장 기본적인 단위이며 전체 프로그램은 함수 호출로 구성됩니다. 객체지향에서는 전체 프로그램의 기본 단위가 클래스이고, 메소드는 클래스와 객체에 종속됩니다.

메소드 선언 형식

[수정자 1 수정자 2 …] 반환 값 유형 메소드 이름(정식 매개변수 목록) {

Java 문; … … }

메소드 호출 방법

객체 이름.메소드 이름(실제 매개변수 목록);

메소드에 대한 자세한 설명

  • 형식 매개변수: 메소드 선언 시 외부에서 들어오는 데이터를 받기 위해 사용됩니다.

  • 실제 매개변수: 메소드 호출 시 실제로 메소드에 전달되는 데이터입니다.

  • 반환 값: 실행 완료 후 해당 메서드를 호출한 환경에 메서드가 반환하는 데이터입니다.

  • 반환값 유형: 사전에 합의된 반환값의 데이터 유형입니다. 반환값이 없는 경우 명시적으로 void로 지정해야 합니다.

참고: Java의 모든 것은 값으로 전달됩니다.

예: 1부터 n까지의 숫자를 인쇄하려고 합니다. 전통적인 쓰기 방법은 기본 방법으로 작성되지만 값이 여러 개 있는 경우 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이 여러 개인 경우 n만 호출합니다. 메소드는 바로 그것입니다

요약

1. 메소드는 특정 함수를 추출하여 코드 조각을 만드는 것입니다. 이 코드 조각을 메소드라고 부릅니다.

2. 정의 메인 메소드에 쓸 수 없습니다

3. 메소드 정의 –> 형식:

        수정자 메소드 반환 값 유형 메소드 이름(공식 매개변수 목록)                                                    }


4. 메소드의 역할: 재사용성 향상 코드

5. 메서드 정의 형식 요약:

수정자: public static
  • public static

  • 方法返回值类型 : 方法的返回值对应的数据类型

数据类型: 可以是基本数据类型(byte,short,int,long,float,double,char,boolean메서드 반환 값 유형: 메서드 반환 값에 해당하는 데이터 유형

  • 데이터 유형: 기본 데이터 유형(byte, short, int, long ,float,double,char,boolean) 참조 데이터 유형일 수도 있습니다

  • 메서드 이름: 이름의 의미를 알아두세요. 첫 번째 문자는 소문자이고 나머지는 낙타 표기법을 따릅니다. 예: addNum, 일반적으로 영어를 사용하여 이름을 지정합니다

  • 형식 매개변수 목록: 메서드 정의 시 필요한 형식 매개변수: int num1 , int num2 --> 메서드 호출자에게 전달해야 하는 매개변수 수와 전달해야 하는 매개변수 유형을 알려주는 것과 같습니다. 실제 매개변수: 메서드가 호출될 때 전달되는 특정 매개변수입니다. : 10,20 -->양식에 따라 매개변수가 전달되어야 합니다. 메소드 본문: 특정 비즈니스 로직 코드

  • 반환 메소드 반환 값:

메서드에 반환 값이 있는 경우: 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));
    }
}

Java 메소드 정의, 메소드 호출 및 오버로딩

总结

  • 方法的重载:在同一个类中,方法名相同,形参列表不同的多个方法,构成了方法的重载。

  • 方法的重载只跟:方法名和形参列表有关,与修饰符,返回值类型无关。

  • 注意:形参列表不同指的是什么?

(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 메소드 정의, 메소드 호출 및 오버로딩의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제