상속
클래스 B를 정의할 때 기존의 클래스 A가 정의하려는 클래스 B와 유사하다는 것을 알 수 있으며, 클래스 B는 클래스 A의 타입이고, 클래스 B는 클래스 A의 하위 클래스로 정의될 수 있습니다. .
여러 클래스에 공통 콘텐츠가 있는 경우 공통 콘텐츠를 위쪽으로 추출하여 새로운 클래스로 추출할 수 있습니다. 이 새로운 클래스는 상속이라는 여러 클래스와 관계를 형성합니다.
하위 클래스가 상위 클래스를 상속한 후에는 상위 클래스의 상속 가능한 모든 속성과 기능을 자동으로 소유합니다.
Notes
Java는 단일 상속만 지원하고 다중 상속은 지원하지 않으며 다중 계층 상속을 지원합니다.
모든 클래스는 Object 클래스를 직접 또는 간접적으로 상속합니다.
생성자는 상속될 수 없습니다.
메소드 재정의
하위 클래스가 상위 클래스를 상속하면 자동으로 상속 가능한 모든 속성과 상위 클래스의 속성. 그러나 하위 클래스가 상위 클래스 메서드가 충분히 강력하지 않다고 느낄 경우 자체 논리
에 따라 상위 클래스 메서드를 다시 작성할 수 있습니다. 메소드 복사 및 메소드 덮어쓰기라고도 합니다.
Notes
1. @Override를 사용하여 메소드 재정의 여부를 확인할 수 있습니다
2. 하위 클래스 메소드의 권한은 상위 클래스 메소드의 권한보다 크거나 같아야 합니다
3. 권장 사항은 다음과 같습니다. 부모 클래스 메소드와 동일한 메소드를 사용합니다
부모 클래스 객체와 자식 클래스 객체 생성 과정
부모 클래스 객체가 자식 클래스 객체보다 먼저 생성됩니다
자식 클래스 객체가 생성될 때마다, 부모 클래스의 빈 매개변수 생성자는 기본적으로 부모 클래스 개체(새 개체가 아님)를 생성하기 위해 호출됩니다.
실제로 부모 클래스 개체는 하위 클래스 개체에 생성됩니다. 클래스의 경우, 그러한 상위 클래스의 공백 지원이 필요합니다. 하위 클래스의 각 생성자의 첫 번째 줄에는 기본 super()가 있습니다. 상위 클래스의 빈 매개변수 생성자를 호출합니다
super(매개변수)의 생성자 메서드를 호출합니다. 상위 클래스
this 및 super
this: 이 클래스 객체의 참조super: 이 클래스 객체의 상위 클래스 참조
속성 이름은 멤버에 액세스합니다. 이 클래스의 변수 this. 메소드 이름(매개변수)은 이 클래스의 다른 메소드에 액세스합니다.
this(매개변수)는 이 클래스의 다른 생성자에 액세스합니다(생성자 메소드의 첫 번째 줄에 사용해야 함)(그냥 이해하세요)
super.property 이름은 상위 클래스 멤버 변수에 액세스합니다(비비공개)
super(매개변수)는 상위 클래스 생성자에 액세스합니다(비비공개) (참고 생성자의 첫 번째 줄에 사용해야 함)
this와 super는 생성자를 호출할 때 동일한 생성자에서 동시에 사용할 수 없습니다. 둘 다 첫 번째 줄에 정의되어야 하기 때문입니다. . 생성자를 호출할 때 호출되기 전에 이 생성자가 있는지 확인해야 합니다. 해당 생성자가 없으면 호출할 수 없습니다.
추상 메서드: 메서드 본문이 없는 메서드를 추상 메서드라고 합니다. 추상 클래스: 추상 메서드가 있는 클래스는 추상 클래스여야 합니다.
추상 클래스 사용
1. 추상 클래스는 생성할 수 없습니다. object 2. 정의 하위 클래스는 추상 클래스를 상속합니다.
3. 하위 클래스는 상위 클래스 메서드를 재정의합니다.
4. 메서드를 호출하기 위한 하위 클래스 개체 생성
추상 클래스 세부 정보:
1. 추상 클래스는 추상 메서드를 가질 수 없습니다.
2. 추상 클래스는 구체적인 메서드를 가질 수 있습니다.
3. 추상 클래스는 상위 클래스여야 합니다
4. 하위 클래스는 모든 추상 메서드를 재정의해야 합니다. 그렇지 않으면 하위 클래스도 추상 클래스입니다.
5. 추상 클래스에는 생성자가 있고, 하위 클래스는 생성자를 사용하여 멤버 변수에 값을 할당해야 합니다
추상 클래스가 나타납니다
의 의미 추상 클래스는 사물 클래스의 가장 기본적인 속성과 동작을 정의합니다. 서브클래스가 해당 기능을 구현하도록 강제합니다. 하위 클래스는 추상 메서드를 재정의해야 합니다
추상 클래스 정의
* 추상 클래스 정의
* 공개 추상 클래스 클래스 이름 {
*
*
* }
위 내용은 객체 지향(상속, 재정의, this, super, abstract 클래스)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!