자바 private 예제

클래스 생성자 개인으로 만들면 클래스 외부에서 해당 클래스의 인스턴스를 만들 수 없습니다. 예를 들어 Java에는 액세스 수정자와 비액세스 수정자라는 두 가지 유형의 수정자가 있습니다. 다음 클래스는 개인 액세스 제어를 사용 – 헤이 Javin.. 우리는 JDK에 위의 프로그램을 실행할 때 7,출력이었다 : 외부 클래스의 개인 멤버에 액세스 : 나는 개인 회원입니다, 중첩 클래스의이 ClassPrivate 방법 외부에 액세스 할 수 없습니다 Nested Class의 방법 당신은 그것에 좀 더 빛을 넣어 주시기 바랍니다.. 개인을 사용하지 마십시오, 나는 자바 언어를 설계 브레인 데드 바보보다 프로그래밍에 대한 자세한 내용은, 그것은 완전히 상속 및 코드 재사용의 OOP 원칙을 깰. 대신 패키지 또는 보호를 사용합니다. 이 예제에서는 두 개의 패키지 p1 및 p2를 만듭니다. p1의 클래스 A는 p2에서 액세스하기 위해 공개됩니다. 클래스 A의 메서드 표시는 보호되고 클래스 B는 클래스 A에서 상속되며이 보호 된 메서드는 클래스 B. Ques의 개체를 만들어 액세스됩니다 . 안스 – 예! 내부 클래스인 경우. 좋은 설명 재빈. 멋진 블로그 주셔서 감사합니다.

위의 프로그램 출력에서 잘못 오타해야합니다. 실제 출력될 것입니다 외부 클래스의 개인 멤버에 액세스: 나는 개인 멤버, 이 외부에서 액세스할 수 없습니다이 ClassPrivate 메서드의 Nested ClassReason는 개인 메서드는 컴파일 시간 바인딩입니다. 그래서 위의 프로그램에서 개인 메서드는 nestedClass.just outerClass.privateMethod()를 추가하려고 하는 nc 개체를 사용하여 호출됩니다. nc.privateMethod(); 출력을 더 잘 이해할 수 있습니다. 외부 클래스의 개인 멤버 액세스 : 나는 개인 회원입니다, 외부 클래스 환호의 중첩 클래스개인 방법의 이 ClassPrivate 방법 외부에 액세스 할 수 없습니다! Java는 클래스, 변수, 메서드 및 생성자에 대한 액세스 수준을 설정하는 다양한 액세스 수정자를 제공합니다. 네 가지 액세스 수준은 – 개인 선언 된 방법, 변수 및 생성자는 선언 된 클래스 자체 내에서만 액세스 할 수 있습니다. 개인 메서드의 한 가지 단점은 단위 테스트를 작성할 수 없다는 것입니다 (또는 반사 및 기타 불미스러운 관행을 수행하지 않고는 그렇지 않습니다! :-) 나는 “/*TestScope*/”와 같은 코멘트와 함께 패키지 로 보호되는 것을 선호합니다. 코드와 개인 메서드를 테스트 할 수 있다면 좋을 것입니다.하지만 Java는 이를 허용하지 않습니다. 이 경우 자신의 코드를 테스트 IMHO는 개인 정보 보호 페티쉬를 트럼프. Java의 액세스 수정자는 필드, 메서드, 생성자 또는 클래스의 접근성 또는 범위를 지정합니다.

필드, 생성자, 메서드 및 클래스의 액세스 수준을 변경하여 액세스 수정자를 적용할 수 있습니다. getter없이 공개 결승전을 가지고 있거나 getter 메서드를 사용하여 개인 및 액세스로 설정하는 것이 더 나은 경우 동일합니까? 감사.

Este post foi publicado em Sem categoria em por .