최고의 자바 상속 튜토리얼 2024년, 이 튜토리얼에서는 IS-A 관계,instanceof를 키워드,관계-A를 HAS,를 배울 수 있습니다.
이 계층 레벨 클래스의 생성을 허용하기 때문에 상속은 객체 지향 프로그래밍 자바 기술의 기초이다. 상속 방법의 다른 개체에서 특성을 얻을 목적으로 이해 될 수있다.
부모 클래스가 클래스 클래스 B, 클래스 B와 클래스 C의 경우 부모 클래스이며, 우리는 또한 C는 (A)의 서브 클래스 호출, 클래스 A에서 클래스 C가 상속됩니다. 자바에서 클래스 상속 한 상속, 즉, 서브 클래스는 하나의 부모 클래스를 가질 수 있습니다
두 가장 일반적으로 사용되는 키워드 상속 확장 구현입니다.
두 키워드의 사용 및 객체가 다른 객체-A가 (a)의 관계 여부를 결정한다.
이 두 키워드를 사용하여, 우리는 다른 객체의 특성을 얻을 목적을 달성 할 수있다.
Object 클래스는 모든 클래스의 조상 그래서 모든 자바 클래스는 java.lang.Object 상위 클래스로 상속되며, 또한 개체의 모든 클래스는 부모 클래스가 있어야합니다.
키워드가 다른 클래스에서 클래스 상속을 선언 할 수 있습니다 이상이-확장하여 다음과 같이 일반적인 형태는 다음과 같습니다
// A.java public class A { private int i; protected int j; public void func() { } } // B.java public class B extends A { }
위의 코드 쇼, B는 A로부터 상속, B는 A의 서브 클래스 그리고 A는 Object의 서브 클래스는, 명시 적으로이 선언되지 않을 수 있습니다.
(A)의 서브 클래스 인스턴스 B의 모든 멤버 변수하지만 전용 변수 B의 멤버를 갖지만 A의 밀봉을 보장 액세스를 갖고 있지 않기 때문에.즉, IS-A : 객체가 다른 객체 분류입니다.
다음은 키워드가 구현 상속을 확장합니다.
public class Animal{ } public class Mammal extends Animal{ } public class Reptile extends Animal{ } public class Dog extends Mammal{ }
위의 예에 따라, 다음과 같은 문장은 사실이다 :
다음과 같이 IS-A 위의 예에서 관계의 분석 :
그러므로 : 개는 동물-A는 IS
키워드를 사용하여 확장함으로써, 서브 클래스는 모든 부모 클래스의 메서드와 속성을 상속하지만, 개인 (개인) 메서드와 속성을 사용할 수 없습니다.
우리는 포유류를 확인할 수 있습니다 instanceof 연산자는 IS-A 동물 사용
public class Dog extends Mammal{ public static void main(String args[]){ Animal a = new Animal(); Mammal m = new Mammal(); Dog d = new Dog(); System.out.println(m instanceof Animal); System.out.println(d instanceof Mammal); System.out.println(d instanceof Animal); } }
다음과 같은 결과를 컴파일 위의 예는 다음과 같습니다
true true true
소개 키워드를 확장 한 후, 우리는 IS-A 관계를 표시하기 위해 구현 키워드를 사용하는 방법에 대해 알아 보겠습니다.
클래스 상속 인터페이스의 경우 키워드를 구현 키워드를 사용할 수없는 이러한 상황이 연장된다.
public interface Animal {} public class Mammal implements Animal{ } public class Dog extends Mammal{ }
당신은 포유류 개 개체 클래스 동물의 인스턴스인지 여부를 테스트하기 위해 instanceof 연산자를 사용할 수 있습니다.
interface Animal{} class Mammal implements Animal{} public class Dog extends Mammal{ public static void main(String args[]){ Mammal m = new Mammal(); Dog d = new Dog(); System.out.println(m instanceof Animal); System.out.println(d instanceof Mammal); System.out.println(d instanceof Animal); } }
다음과 같은 결과를 컴파일 위의 예는 다음과 같습니다
true true true
클래스와 해당 멤버 대신 제휴-A를 HAS. 이 코드를 재사용 코드 오류를 줄일 수 있습니다.
public class Vehicle{} public class Speed{} public class Van extends Vehicle{ private Speed sp; }
반 클래스와 스피드 클래스입니다 관계 (밴은 속도가)-A를 갖고, 그래서 당신은 모든 코드가 클래스의 반 속도 클래스로 붙여 넣을 필요가 없습니다, 및 속도 클래스는 여러 애플리케이션에서 재사용 할 수있다.
객체 지향 기능에서, 사용자는 얼마나 내부 클래스에 대해 걱정할 필요가 없다.
사용자는 단지 특정한 기능 완료 보낸 클래스를 호출하는 방법을 알 필요가 있으므로 반 클래스 구현 상세는 스스로 수행하거나 작업을 수행하는 다른 클래스를 호출하는 반 클래스를 알 필요없이, 사용자로부터 숨겨진.
자바 클래스가 여러 클래스를 상속 할 수 있다는 것을 의미에만 단일 상속을 지원합니다.
다음 연습은 법적되지 않습니다 :
public class extends Animal, Mammal{}
자바는 단일 상속 (상속과 추상 기본 클래스)를 지원하지만, 우리는 (다중 상속 인터페이스를 달성하기 위해) 구현하는 인터페이스를 사용할 수 있습니다, 스크립트 구조 등 :
public class Apple extends Fruit implements Fruit1, Fruit2{}
(가) 키워드 implements 키워드 클래스 상속과 인터페이스를 구현 확장으로 일반적으로, 우리는 기본 클래스와 추상 클래스를 상속합니다.