이 글은 Java 내부 클래스(코드 포함)의 액세스 형식과 규칙을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
1. 내부 클래스 정의
사물을 설명하기 위해 클래스를 정의하지만, 이 경우에는 클래스에 클래스를 정의하여 설명합니다.
2. 내부 클래스 접근 규칙
①내부 클래스는 비공개를 포함한 외부 클래스의 멤버에게 직접 접근할 수 있습니다.
외부 클래스의 멤버에 직접 접근할 수 있는 이유는 내부 클래스가 외부 클래스에 대한 참조를 갖고 있기 때문입니다.
형식: 외부 클래스 이름.this
②내부 클래스에 접근하려면 외부 클래스가 내부 클래스를 생성해야 합니다. 클래스 객체 .
3. 접근 형식
① 내부 클래스가 외부 클래스의 멤버로 정의되고 비공개인 경우 다른 외부 클래스에 속할 수 있습니다. 내부 클래스 객체를 직접 생성할 수 있습니다.
외부 클래스 이름.내부 클래스 이름 변수 이름 = 외부 클래스 object.Inner 클래스 개체;
Outer.Inner in = new Outer().new Inner()
②내부 클래스가 멤버 위치에 있을 때 멤버 수정자로 수정될 수 있습니다.
예를 들어 private: 내부 클래스를 외부 클래스로 캡슐화합니다.
static: 내부 클래스는 static의 특성을 가지고 있습니다.
내부 클래스가 정적으로 수정되면 외부 클래스의 정적 멤버에만 직접 액세스할 수 있습니다. 액세스 제한이 있습니다. 다른 외부 클래스에서 정적 내부 클래스의 비정적 멤버에 직접 액세스하는 방법은 무엇입니까?
new Outer.Inner().function; //非静态成员需要实例化才能调用方法。
다른 외부 클래스에서 정적 내부 클래스의 정적 멤버에 직접 액세스하는 방법은 무엇입니까?
Outer.Inner.function(); //静态的先加载入内存,直接类名调用就行了。
그러나 정적 멤버가 내부 클래스에 정의된 경우 내부 클래스는 정적이어야 합니다.
외부 클래스의 정적 메서드가 내부 클래스에 액세스하는 경우 내부 클래스도 정적이어야 합니다. 정적 변수에 액세스하는 것과 같습니다.
아아아아위 내용은 Java 내부 클래스의 액세스 형식 및 규칙 소개(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!