클래스 내 전역 변수와 메소드의 가시 범위, 즉 객체 참조를 통해 나타날 수 있는 범위.
public | protected | private | |
팩 범위 | √ | √ | × |
다른 패키지도 가능 | √ | √ | |
× | 3. 가시성의 이해 | 변수나 메서드는 다른 클래스 B에 표시됩니다. 이는 변수나 메서드가 개체 참조를 통해 B에 직접 노출될 수 있음을 의미하며, 그 반대의 경우도 마찬가지입니다. 보이지 않음은 개체 참조를 통해 변수나 메서드에 직접 액세스할 수 없음을 의미합니다. B클래스에서. |
package com.javase.temp;import org.junit.Test;public class TempTest {private String str = new String("abc"); @Testpublic void printStr() { System.out.println(this.str); } }
TempTest 클래스에는 private 유형이고 다른 클래스에는 표시되지 않는 str 멤버 변수가 있는 것이 분명합니다. 이는 해당 변수가 개체 참조를 통해 다른 클래스에 나타날 수 없음을 의미합니다. 다른 클래스에 간접적으로 나타나는 printStr 메소드를 호출하여 호출할 수 있습니다.
package com.javase.temp;import org.junit.Test;public class TempTest01 { @Testpublic void test01() { TempTest obj = new TempTest(); obj.printStr();//通过TempTest类型的public类型的方法间接访问了private类型的变量,在访问时不知道private类型变量的情况 } }출력:
TempTest의 프라이빗 유형 변수의 값은 TempTest01에 출력되지만 이 출력은 무작위이며 무의식적입니다. TempTest01은 출력 결과가 변수 str에서 나오는지 알 수 없으며 출력은 의미가 없습니다.
외부 세계에서 직접 접근할 수 없도록 설계된 변수는 일반적으로 이러한 유형의 작업에서 눈에 보이는 다른 변수 및 메서드를 지원하기 위한 중간 프로세스로 사용됩니다.위 내용은 Java 접근 권한 소개 및 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!