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

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

Oct 14, 2016 pm 01:57 PM

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

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

액세스 제어가 존재하는 이유: 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으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)