클래스에는 멤버 변수와 메서드라는 두 가지 중요한 멤버가 있습니다. 하위 클래스의 멤버 중 일부는 하위 클래스 자체에서 선언 및 정의되는 반면 다른 멤버는 상위 클래스에서 상속됩니다. 서브클래스는 마치 서브클래스에서 멤버변수가 직접 선언된 것처럼 부모 클래스의 멤버변수를 자신의 멤버변수 중 하나로 상속받으며, 서브클래스에 정의된 모든 인스턴스 메소드에 의해 연산될 수 있다. 서브클래스는 마치 메소드가 서브클래스에 직접 정의된 것처럼 상위 클래스의 메소드를 자체 메소드 중 하나로 상속하며 서브클래스에 정의된 모든 인스턴스 메소드에 의해 호출될 수 있습니다.
동일한 패키지에 있는 하위 클래스와 상위 클래스 간의 상속:
하위 클래스와 상위 클래스가 동일한 패키지에 있는 경우 하위 클래스는 자연스럽게 상위 클래스의 비공개가 아닌 멤버 변수를 자신의 멤버 변수로 상속하고, 또한 자연히 상위 클래스의 비공개가 아닌 메서드를 자체 멤버 변수로 상속합니다. . 메서드, 상속된 멤버 변수 또는 메서드에 대한 액세스는 변경되지 않습니다.
하위 클래스와 상위 클래스가 동일한 패키지에 없을 때의 상속:
하위 클래스와 상위 클래스가 동일한 패키지에 없으면 상위 클래스의 전용 및 친숙한 액세스 멤버 변수는 하위 클래스에서 상속되지 않습니다. 즉, 하위 클래스는 하위 클래스의 보호 및 공용 액세스 멤버 변수와 메서드만 상속합니다. 상위 클래스를 멤버 변수 및 하위 클래스의 메서드로 사용합니다.
보호됨에 대한 추가 설명:
클래스 A의 보호된 멤버 변수 및 메서드는 해당 하위 클래스에서 상속될 수 있습니다. 예를 들어 B가 A의 하위 클래스이고 C가 B의 하위 클래스이고 D가 C의 하위 클래스이면 클래스 B, C, D는 모두 A 클래스의 Protected 멤버 변수와 메서드를 상속합니다.
D 클래스를 사용하여 D 자체에 객체를 생성하면 객체는 항상 "." 연산자를 통해 상속되거나 자체 정의된 보호 변수 및 보호 메서드에 액세스할 수 있습니다. 클래스의 클래스 D를 사용하여 생성됩니다. "." 연산자를 통해 보호된 변수 및 보호된 메서드에 액세스할 수 있는 권한은 다음과 같습니다.
1. 하위 클래스 D 자체에서 선언한 보호된 멤버 변수 및 메서드의 경우 Other 클래스와 D 클래스가 동일한 패키지에 있는 한 개체 개체는 이러한 보호된 멤버 변수 및 메서드에 액세스할 수 있습니다.
2. 하위 클래스 D가 상위 클래스에서 상속하는 보호된 멤버 변수 또는 보호된 메서드의 경우 이러한 보호된 멤버 변수 또는 메서드가 있는 "조상" 클래스까지 추적해야 합니다. 예를 들어 클래스 A일 수 있습니다. Other 클래스와 클래스 A가 동일한 패키지에 있는 한 개체 개체는 상속된 보호 변수 및 보호 메서드에 액세스할 수 있습니다.