Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
736 views
in Technique[技术] by (71.8m points)

inheritance - “every class in java extends the MetaClass Object” does it imply that every subclass causes a Diamond issue

These two facts in java

Fact 1

Every class in java by default extends the java meta class Object

and

Fact 2

Multiple inheritance is not allowed in java” read more about diamond proble here Java inheritance

are quiet confusing

Suppose ClassB extends ClassA then according to fact1 ClassB extends Object

enter image description here

Does that mean ClassB is extending both ClassA and Object? Is it a case of multiple inheritance?

If it’s not multiple inheritance then how aren't the two statements contradictory?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

“Every class in java by default extends the java meta class Object” //fact1

Every Class extends Object class, only if they don't extend any other class directly.

If a class Test extends another Sample class, then Test don't extends Object class directly, but, inheriting the Object class behaviors through super class Sample, which directly extends Object class.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...