2013-04-11 4 views
1

Java의 모든 클래스가 암시 적으로 Object 클래스를 확장하고 Java에서 다중 상속이 불가능한 경우 어떻게 클래스를 확장합니까?Java의 다중 상속에 관하여

+0

단일 상속은 한 클래스에서 다음 클래스로 연결되기 때문에. 다중 세대는 하나의 세대 내에서 두 개 이상의 객체로부터 확장되는 것을 다룹니다. – MadProgrammer

+1

다중 및 다중 레벨 상속의 차이점에 대해 읽어보십시오. – prashant

+0

http://stackoverflow.com/questions/13926555/does-java-not-support-multiple-inheritance and http://stackoverflow.com/questions/7553201/java-doubt-on-multiple-inheritance – Habib

답변

1

다중 상속은 둘 이상의 수퍼 클래스에서 상속하는 단일 클래스의 개념입니다. 클래스가 수퍼 클래스에서 상속 받고 해당 수퍼 클래스가 다른 수퍼 클래스에서 상속받는 경우 다중 상속으로 간주되지 않습니다. 여전히 단일 상속입니다.

u는 객체가 hierachy

objectclaass-> superclass-> 서브 순서에 생성 될 서브 클래스의 객체를 생성하면;

Java의 모든 클래스가 간접적으로 또는 직접적으로 Object 클래스에서 상속된다는 것은 사실입니다.

이 경우 하위 클래스는 간접적으로 개체 클래스를 상속합니다.

3

클래스를 확장하면 클래스가 차례대로 Object를 확장하므로 B가 확장되면 A도 암시 적으로 Object를 확장합니다.

3

"Java에는 다중 상속이 없습니다."라는 말은 두 개의 다른 부모를 가질 수는 없으며 부모에게는 부모가 없을 수 없다는 의미입니다. 의미

class Teacher: public Person, public Employee 

는 '교사의 필드와 메소드를 상속, 사람과 직원을 확장 : http://www.learncpp.com/cpp-tutorial/117-multiple-inheritance/

다중 상속은 다음과 같습니다

C++은 다중 상속을 할 수있는 언어의 예입니다 '.

다중 상속 대신 개체가 지원하는 모든 동작 (또는 원하는 계약서)을 나타내는 인터페이스를 만들고 구현해야합니다. Java는 Closeable 및 Serializable과 같은 인터페이스에 이것을 사용합니다.

+0

@MadProgrammer 잘하면 내 편집이 내 뜻을 분명히 해줍니다. – Patashu

+0

정확히 내 요점. 두 명의 다른 부모를 가질 수는 없지만 클래스를 확장하면 두 부모, Object와 확장 된 사람이 생깁니다. – Bhushan

+0

@Patashu 고맙습니다. D - 늦었고 두뇌가 약간 위선적 인 이유가 있습니다 : P – MadProgrammer

1

다른 클래스를 확장하지 않는 모든 클래스는 객체 클래스를 확장합니다. anther 클래스를 확장하는 경우 Vector 클래스 클래스의 계층 구조를 살펴보면 Object를 명시 적으로 확장하는 다른 클래스를 확장하지 않는 간단한 클래스로 끝납니다. 및 Any 클래스는 anther 클래스를 확장하여 부모 클래스가 확장하는 모든 클래스를 명시 적으로 확장합니다.

0

Java에는 다중 상속이 없지만 클래스 계층 구조가 있습니다. Java의 상속은 전이성이 있습니다. A 클래스가 Object를 확장하고 B 클래스가 A를 확장하면 transitivity가 A를 확장합니다.