자바 액세스 수정 "자바의 기초"(액세스 제어 문자)

자바는 일반적으로 선두 문에 배치 수정 유형, 액세스 권한 및 다른 기능 속성과 메소드에 의해 제어됩니다. 예를 들면 :

공용  클래스 클래스 이름 {
     // 클래스의 몸 
}
 개인  부울 myFlag; 

정적  마지막   주 = 9.5 ; 

보호  정적  최종  INT BOXWIDTH = 42 ; 

공공  정적  무효 메인 (문자열 [] 인수) {
     // 메소드의 본문 
}

 

액세스 수정 및 비 수정 액세스에 많은 자바 수정. 이 섹션은 액세스 한정자가 아닌 액세스 수정 프리젠 테이션을 따릅니다 설명합니다.

 

또한 액세스 제어 문자로 알려진 액세스 수정은, 카테고리, 멤버 변수의 키워드 사용 권한, 방법을 제어 할 수있는 능력을 의미한다.

 

객체 지향 프로그래밍에서, 액세스 지정은은 클래스, 액세스 변수, 메소드와 생성자를 보호 할 수 있습니다, 매우 중요한 개념이다.

자바는 네 가지 액세스 권한을 지원합니다 :

 

공개 : 공개

  그것은 공용 클래스, 메소드, 생성자로서 선언하고, 액세스 인터페이스는 임의의 다른 형태 일 수있다.

  대중 클래스가 상호 접속 패키지없이 여러 배포하는 경우에는 해당 패킷 공용 클래스를 가져와야합니다. 때문에 상속 클래스의 모든 public 메소드와 변수처럼 그 서브 클래스에 의해 상속 될 수있다.

  다음 방법은 공공 액세스 제어를 사용합니다 :

  공공 정적 무효 메인 (문자열 [] 인수) {

      // 메소드의 본문

  }

  주요 자바 프로그램 () 메소드가 공개로 설정해야합니다, 그렇지 않으면, 자바 인터프리터는 클래스를 실행할 수 없습니다.

 

보호 : 보호

  변수는 보호 방법으로 선언하고 생성자는 다른 클래스에 액세스 할 수있는 동일한 패키지 될 수 있으며, 서브 클래스는 다른 패키지에 액세스 할 수 있습니다.

  보호로 클래스 및 인터페이스 방법 및 멤버 변수를 수정할 수 보호 액세스 개질제 선언 할 수 있지만, 멤버 변수와 인터페이스 부재의 방법은 보호 선언 될 수 없다.

  우리는 클래스가이 메소드와 변수의 사용과는 관련이 없다 보호 할 수 있도록 메소드와 변수에 액세스 할 수 있습니다 서브 클래스는, 수정을 보호 선언했다.

  보호 된 액세스 한정자를 사용하여 다음 부모 클래스, 서브 클래스는 부모 클래스의 껍질 () 메소드를 재정의합니다.

  

공공  클래스 개 {
     보호  무효 껍질 () { 
        에서 System.out.println이 ( "나무 껍질, 오지 않는다" ); 
    } 
}
클래스 테디 를 확장 개 { // 테디가 
  무효 껍질 () { 
        에서 System.out.println을 ( "나무 껍질, I 나는 두려워 나를 따라하지 않는다" ); 
    } 
}

  수피 () 메소드는 개인 선언 된 경우, 개 클래스에 추가하여이 방법에 액세스 할 수 없습니다. 껍질은 () public으로 선언 된 경우, 그래서 모든 클래스는 메소드에 액세스 할 수 있습니다. 우리는 단지 보호로 클래스, 메소드가 선언 된 서브 클래스 방법에 그것을 볼 수 있도록합니다.

 

개인 : 개인

  개인 액세스 한정자는 민간 방법, 변수로 선언하고, 건설 방법은 자신의 클래스에 액세스 할 수 있으며, 클래스와 인터페이스는 개인 선언 할 수 없습니다, 액세스의 가장 엄격한 수준입니다.

  타입 클래스의 변수에 개인 액세스가 단지 외부 클래스 공개 게터 / 세터 방법으로 액세스 할 수 있습니다로 선언.

  개인 액세스 한정자는 주로 클래스 뒤에 클래스의 데이터 및 구현 세부 사항을 보호하는 데 사용됩니다.

  다음 클래스는 개인 액세스 한정자를 사용합니다 :

공공  클래스 개 {
     개인 문자열 이름;
    개인  INT의 시대; 

    공공 문자열 getName () {
         반환 이름; 
    } 

    공공  무효 에서는 setName (문자열 이름) {
          .name을 = 이름; 
    } 

    공공  INT getAge () {
         반환 시대; 
    } 

    공공  무효 setAge ( INT의 연령) {
          .age = 나이; 
    } 
}

  다른 클래스를 직접 얻을 변수의 값을 설정할 수 있도록 예, 개 클래스 이름, 연령 변수는 개인 변수입니다. 다른 클래스는 가변 될 수 작동하기 위해, 우리는 퍼블릭 메소드 두 쌍을 정의하세요 전용 변수의 값을 설정하기 위해 사용된다 getName () /에서는 setName () 및 getAge () / setAge ().

  이 자바의 키워드입니다.

  메소드는 클래스에 액세스 개인 변수를 정의, 습관이 그렇게 이름 : "설정" "GET"또는 변수 이름 앞에, 첫 글자는 대문자와 변수입니다. 예를 들어, 변수 이름 독점 방식 getName (), 이름에서는 setName 설정 방법 ()를 얻기. 이러한 방법은 자주 사용뿐만 아니라 getter 및 setter 메소드에서 발생한 특정 제목을 가지고있다.

 

기본값 : 키워드를 사용하지 마십시오

  동일한 패키지에 어떤 수정 선언 된 속성과 클래스의 방법들을 사용 없이는 볼 수있다. 기본 액세스 방법에 변수가 암시 적으로 공공 정적 final로 선언 된 인터페이스, 인터페이스는 기본적으로 public입니다.

  다음 예에서는, 클래스 변수 및 개질제를 사용하지 않고 방법의 정의 :

클래스 개 { 
    문자열 이름, 
    INT의 나이, 

     껍질 () { // 껍질 
        에서 System.out.println ( "나무 껍질, 오지 않는다" ); 
    } 
    무효 배고픈 () { // 기아 
        에서 System.out.println ( "마스터, 나는 "배고파 ;) 
    } 
}

  

액세스 제어 및 상속

  상속 규칙 :

  서브 클래스의 부모 클래스 선언 public 메서드도 공개한다.

  보호 또는 하위 클래스에서 protected 또는 public으로 선언으로 선언으로 선언 된 상위 클래스의 방법. 그것은 개인 선언 할 수 없습니다.

  부모 클래스 선언의 기본 수정의 방법은 개인 서브 클래스를 선언 할 수 있습니다.

  상위 클래스의 방법은 개인 선언, 상속 될 수 없습니다.

 

접근 지정자를 사용하는 방법

  액세스 제어 문자는 우리가 쉽게 제어 코드에 액세스 할 수 있습니다 :

  당신이 그들의 준비 클래스가 다른 모든 클래스 액세스입니다 수 있도록 할 필요가있을 때, 당신은 대중을 위해 지정 클래스 선언에 액세스 할 수 있습니다.

  클래스에만 카테고리 액세스에 포함 할 수있을 때 당신이 그들의 자신의해야 할 때, 당신은 생략 지정자에 액세스 할 수 있습니다.

  요구 클래스의 데이터 멤버를 제어 할 때, 운전자의 액세스 제어의 클래스의 데이터 멤버는 공개로 설정 보호, 또는 생략 될 수있다. (편집 : Leilin 펭 출처 : 네트워크)

추천

출처www.cnblogs.com/jssj/p/11222260.html