>  기사  >  类库下载  >  Java의 4가지 접근 한정자의 차이점과 전체 과정에 대한 자세한 설명

Java의 4가지 접근 한정자의 차이점과 전체 과정에 대한 자세한 설명

高洛峰
高洛峰원래의
2016-10-14 13:57:591815검색

클라이언트 프로그래머: 애플리케이션에서 데이터 유형을 사용하는 클래스 소비자 그의 목표는 신속한 애플리케이션 개발을 위해 다양한 클래스를 수집하는 것입니다.

클래스 생성자: 클래스 구축을 목표로 새로운 데이터 유형을 생성하는 프로그래머.

액세스 제어가 존재하는 이유: a. 클라이언트 프로그래머가 만져서는 안 되는 부분을 방지하기 위해 b. 라이브러리 디자이너가 클라이언트 프로그램에 영향을 미칠 염려 없이 클래스의 내부 작업 방법을 변경할 수 있도록 하기 위해; 🎜>

Java의 4가지 키워드: public, protected, default, private (정의된 내용을 누가 사용할 수 있는지 즉시 결정)

적용 범위

                                                   통해 통해 ââ'¬Å“ ∨ ∨ ∨ × × (상속 클래스 접근 가능 및 프라이빗과 동일한 권한)

     ∨ × × ×   (패키지 접근 권한, 즉 패키지 전체에서 접근 가능) 해당 타입의 내부 메소드 외에는 누구도 접근할 수 없는 creator 및 Elements)

다음은 코드를 이용한 자세한 설명입니다. (Person Student Teacher Parents 4개 클래스 생성 및 테스트 클래스 1개)

테스트 클래스의 결과는 위의 항목에 public이 접근할 수 있음을 보여줍니다.

동일한 4개의 클래스를 사용하여 protected를 테스트합니다

Person의 uanme를 protected로 변경한 후 클래스는 부모는 오류를 보고합니다. Person.uname 필드가 표시되지 않습니다(교차 패키지할 수 없음을 나타냄)
package com.zq.demo.test1;
/**
 * 类内
 * @author Administrator
 */
public class Person {
    public String uname = "王五";
    
    public void introduceMyself(){                
        System.out.println(uname);             
    }
}

package com.zq.demo.test1;
//同一个包
public class Student {
        Person p =  new Person();
    public void test(){
        System.out.println(p.uname);
    }
}
package com.zq.demo.test1;
//子类
public class Teacher extends Person{
    public int age;
    Person p = new Person();
    public void test1(){
        System.out.println(p.uname);
    }
}
package com.zq.demo.test2;
//不同包
import com.zq.demo.test1.Person;

public class Parents {
    public String uname = "haha";
    Person p = new Person();
    public void test2(){
        System.out.println(p.uname);
    }
}

나머지 세 개는 영향을 주지 않습니다Java의 4가지 접근 한정자의 차이점과 전체 과정에 대한 자세한 설명

Cross-Package를 제외한 나머지 3개는 접근에 영향을 미치지 않음을 나타냄

private

Java의 4가지 접근 한정자의 차이점과 전체 과정에 대한 자세한 설명

이 클래스에서만 접근이 가능하지만, Person 클래스

Java의 4가지 접근 한정자의 차이점과 전체 과정에 대한 자세한 설명

default

Java의 4가지 접근 한정자의 차이점과 전체 과정에 대한 자세한 설명

에서 uname의 set 및 get 메소드를 사용하여 액세스합니다.

Java의 4가지 접근 한정자의 차이점과 전체 과정에 대한 자세한 설명 테스트 결과 설명은 다른 패키지에서도 이 패키지에서만 접근 가능합니다. 상속 관계이므로 접근할 수 없습니다

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