>  기사  >  Java  >  Java 함수 오버로딩 메커니즘에서 지원하는 메소드 액세스 제어 수준은 무엇입니까?

Java 함수 오버로딩 메커니즘에서 지원하는 메소드 액세스 제어 수준은 무엇입니까?

王林
王林원래의
2024-04-25 21:12:01644검색

Java 함수 오버로딩을 사용하면 서명은 다르지만 이름은 동일한 함수를 생성할 수 있습니다. 가시성은 액세스 제어 수준에 따라 제어되며, 이는 비공개, 패키지 수준 비공개, 보호 및 공개를 지원합니다. 예를 들어,calculateArea() 함수는 원형 또는 사각형 인수를 허용하도록 오버로드될 수 있으며 액세스 제어 수준에 따라 다른 위치에서 액세스될 수 있습니다.

Java 函数重载机制支持的方法访问控制级别有哪些?

Java 함수 오버로딩을 위한 액세스 제어 수준

Java의 함수 오버로딩을 사용하면 이름은 같지만 서명이 다른 여러 함수를 정의할 수 있습니다. 이러한 함수에는 다양한 매개변수 유형, 매개변수 수, 반환 유형이 있을 수 있습니다. 함수 오버로드에서 액세스 제어 수준은 다양한 패키지 및 클래스에 대한 다양한 버전의 오버로드된 메서드 표시 여부를 결정합니다.

Java 함수 오버로딩에서 지원되는 액세스 제어 수준

Java 언어는 다음과 같은 액세스 제어 수준을 지원합니다.

  • private(private): 정의된 클래스 내에서만 액세스할 수 있습니다.
  • Package-private: 해당 클래스가 포함된 패키지 내의 클래스에서만 액세스할 수 있습니다.
  • Protected: 이를 포함하는 패키지 내의 클래스 및 파생 클래스에서만 액세스할 수 있습니다.
  • Public: 모든 수업에서 접근할 수 있습니다.

실용 예

오버로드된 calculateArea() 함수가 모양(원 또는 사각형)에 따라 다양한 매개변수를 허용하는 다음 예를 고려하세요. calculateArea() 函数根据形状(圆形或正方形)接受不同的参数:

public class ShapeCalculator {

    public double calculateArea(Circle circle) {
        return Math.PI * circle.getRadius() * circle.getRadius();
    }

    public double calculateArea(Square square) {
        return square.getWidth() * square.getWidth();
    }
}

在这个示例中,我们声明了 calculateArea() 函数的两个版本:

  • calculateArea(Circle circle) 接收一个圆形对象作为参数,并返回圆形的面积。
  • calculateArea(Square square) 接收一个正方形对象作为参数,并返回正方形的面积。

两个版本的 calculateArea() 函数都可以从任何类中访问,因为它们都声明为 publicrrreee

이 예에서는 두 가지 버전이 있습니다.
  • calculateArea(Circle Circle)은 원형 객체를 매개변수로 받고 원의 면적을 반환합니다.
  • calculateArea(Square square)는 정사각형 객체를 매개변수로 받아 정사각형의 면적을 반환합니다.
calculateArea() 함수의 두 버전 모두 public으로 선언되어 있으므로 모든 클래스에서 액세스할 수 있습니다. 따라서 이러한 기능은 어디에서나 사용할 수 있습니다.

🎜동일 패키지 내의 클래스 🎜🎜다른 패키지 내의 클래스 🎜🎜메인 메소드에서 🎜🎜🎜액세스 제어 수준은 버전마다 다르다는 점에 유의해야 합니다. 방법도 중요합니다. 예를 들어 하위 클래스에서는 액세스 제어 수준이 동일하거나 더 넓은 상위 클래스 메서드만 재정의할 수 있습니다. 🎜

위 내용은 Java 함수 오버로딩 메커니즘에서 지원하는 메소드 액세스 제어 수준은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.