이 기사는 주로 Java 프로그래밍 액세스 권한 제어에 관한 내용을 다음과 같이 연구합니다.
이전에주의를 기울이지 않은 수정 자에게는 일반적으로 변수가 이전에 추가되지 않았고, 하나는 그것이 무엇인지 몰랐기 때문에, 다른 하나는 게으르기 때문입니다. 나중에 프로젝트를 만났을 때, 나는 여전히 개인과 대중 사이에 큰 차이가 있음을 발견했습니다.
(1) 우선, 패키지 이름
컬렉션 클래스와 같은 클래스를 사용하는 경우이 패키지를 소개하고 패키지 아래의 클래스를 사용해야합니다. 좋다:
패키지 com.myown.iaiti; public class print {static void print (string s) {system.out.println (s); }}맞춤형 패키지, 자신의 패키지를 소개하면 향후 문자열을 인쇄하기 위해 작성한 방법을 사용할 수 있습니다. 이전에 내 패키지의 경로를 ClassPath로 설정하려고 했으므로 다른 디렉토리에서 컴파일 할 때는 패키지를이 디렉토리에 넣을 필요가 없으며 정상적으로 실행될 수 있습니다. 그렇지 않으면 JAR 패키지를 찾을 수 없습니다.
(2) 공개
과거에는 과거에 교사들이 종종 라오 츠를 은유로 사용했습니다. 이것은 공개적인 것입니다. 나는 당신을 위해 그것을 사용할 것입니다. 대중은 데이터 구성원을 면밀히 따릅니다. 즉, 모든 사람이 이용할 수 있음을 의미합니다.
(3) 개인
개인, 개인, 내 사유 재산은 만지지 않습니다. 사용할 수있는 패키지 에이 데이터 멤버를 포함하는 클래스를 제외하고 다른 클래스를 사용할 수 없습니다. 이 부분은 디자이너 자체가 외부인을 보여 주거나 수정하기를 원하지 않는 것입니다.
public class print {public static void main (String [] args) {getit g = new getit (); }} class getit {// 파일에는 하나의 공개 클래스 만 가질 수 있습니다. // 앞에 공개를 추가하려면 print getit () {}} 인쇄와 같은 파일로 쓰지 마십시오.생성자 getit ()가 보이지 않으며 보이지 않으며 유용하다는 것을 알 수 있습니다. 싱글 톤 패턴은 이런 식으로 사용되어 물체의 생성을 제어합니다.
싱글 톤 모드의 적용 :
클래스 A {private a () {} private static a a = new a (); public static a getinstace () {return a; }}생성자는 비공개로 수정되므로 다른 클래스는 새로운 것을 통해 객체를 만들 수 없습니다. 목적은이 클래스 A가 매우 복잡하고 메모리를 소비 할 때 객체 생성을 엄격하게 제어해야한다는 것입니다. 우리는 단일 사례를 제시 했으므로 단일 사례에 대해 이야기 할 것입니다. 나는 이전에 일부 사람들의 글을 읽었습니다. 너무 고전적이고 놀랍습니다.
위의 것은 배고픈 남자 스타일로, 당신이 오자마자 새로운 것을 얻는 데 도움이되고, 미래에 새로운 것을 얻을 때 직접 사용하는 데 도움이됩니다. 스레딩 문제가 없습니다. 단점은 쓸모없는 경우 자원 낭비가 될 것입니다.
게으른 스타일
공개 클래스 A {private a () {} private static a a; public static a getinstance () {if (a == null) {return a = new a (); } else {return a; }}}사용하면 새로운 도움이되며 사용할 때는 새로운 것이지만 스레딩 문제가 있습니다. 동기화 된 추가하면 효율이 줄어들면 그 중 하나가 점유되므로 효율성이 줄어 듭니다.
완벽한 방법은 다음을 모두 결합하는 것입니다.
공개 클래스 A {// 개인 정적 내부 클래스, 클래스는 참조 개인 정적 클래스 Lazya {public static aa = new a ()가있는 경우에만로드됩니다. } public static a getInstance () {return lazya.a; }}이전 에이 소위 정적 내부 클래스를 이해할 수 없습니다. 기능은 지연된 로딩을 달성하는 것입니다. 새로 사용되기 때문입니다. GetInstance 메소드를 사용하십시오. 정적 클래스는 모든 외부 클래스 객체에 속하며 한 번만로드되기 때문에 멀티 스레딩 문제가 없습니다. 정적 내부 클래스가 인스턴스화 된 후에는 클래스 수준 속성으로 특정 객체에 속하지 않지만 한 번만로드됩니다. 이런 식으로, 자원 폐기물은 없으며 멀티 스레딩의 비 효율성에 문제가 없습니다. 이 방법을 생각해 낸 사람은 정말 놀랍습니다.
(4) 보호
인쇄는 기본 범주입니다. 중국인들은 부모 카테고리에 대해 이야기하는 것을 좋아하지만 외국인들은 하위 범주가 더 훌륭하다고 생각합니다. 기본 범주는 기초 또는 기초입니다. 보호는 내가 아들에게 특별히 떠난 재산입니다.
public class print {protected void print () {} private void print () {}} public class printson은 print {void get () {print (); // print (); 개인 개인 방법, 서브 클래스는 여전히 사용할 수 없습니다}} public class notson {void get () {print (); }}보호 된 수정 된 서브 클래스는 공공 및 민간 사이에서 얻을 수 있습니다.
(5) 클래스에 대한 액세스 권한
각 파일에는 하나의 공개 클래스 만 가질 수 있습니다.
클래스 이름과 파일 이름은 동일합니다.
기본 기초가 없다면 조금 미리 미리가되지만 지식 포인트가 개선되면 이해하기 쉽습니다. 액세스 권한의 제어는 여전히 코드의 일부를 다른 사람을 위해 직접 사용하고 싶은지 여부에 따라 다릅니다.
요약
위의 내용은이 기사에서 Java 프로그래밍 액세스 권한을위한 제어 코드에 대한 자세한 설명입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!