4.3.5 스텔스 파라미터와 디스플레이 파라미터
3796 단어 Java Core Technology I
- public void raiseSalary(double byPercent)
- {
- double raise = salary * byPercent / 100;
- salary = salary + raise;
- }
이 방법을 호출하는 대상의salary 실례역을 새 값으로 설정합니다.다음 호출을 보십시오:
- number007.raiseSalary(5);
그것의 결과는number007.salary 영역의 값이 5% 증가합니다.구체적으로 말하면, 이 호출은 다음과 같은 명령을 실행할 것이다.
- double raise = number007.salary * 5 / 100;
- number007.salary = number007.salary + raise;
raise Salary 방법에는 두 개의 매개 변수가 있습니다.첫 번째 매개변수는 암시적(implicit) 매개변수라고 하며 메소드 이름 앞에 나타나는 Employee 클래스 객체입니다.두 번째 파라미터는 방법명 뒤에 있는 괄호에 있는 수치입니다. 이것은 현식 (explicit) 파라미터입니다.
명시적 매개변수는 메소드 선언에 명시적으로 나열된 디스플레이 매개변수입니다(예: Double byPercent).스텔스 파라미터는 방법 성명에 나타나지 않았습니다.
모든 방법에서 키워드this는 스텔스 파라미터를 표시합니다.필요하면 다음과 같은 방법으로 raise Salary 메서드를 작성할 수 있습니다.
- public void raiseSalary(double byPercent)
- {
- double raise = this.salary * byPercent / 100;
- this.salary = this.salary + raise;
- }
일부 프로그래머들은 실례역과 국부 변수를 뚜렷하게 구분할 수 있기 때문에 이런 스타일을 선호한다.
C++ 주석: C++에서는 일반적으로 클래스 외부에서 메서드를 정의합니다.
- void Employee::raiseSalary(double byPercent) //C++, not Java
- {
- ...
- }
만약 클래스의 내부에서 방법을 정의한다면, 이 방법은 자동으로 내연 (inline) 방법이라고 부른다.
- class Employee
- {
- ...
- ing getName(){return name;} //inline in C++
- }
자바 프로그램 설계 언어에서 모든 방법은 클래스의 내부에서 정의해야 하지만, 그것이 내연 방법이라는 것은 아니다.메서드를 내부 연결 메서드로 설정할지 여부는 Java 가상 시스템의 작업입니다.실시간 컴파일러는 간결하고 자주 호출되며, 다시 불러오지 않고, 최적화할 수 있는 방법을 감시할 것이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
4.4.3 정적 방법정적 방법은 대상에게 조작을 실시할 수 없는 방법이다.예를 들어, Math 클래스의 pow 방법은 정적 방법입니다.표현식 정적 방법은this파라미터가 없는 방법이라고 볼 수 있다. 정적 방법은 대상을 조작할 수 없기...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.