`
`Documentation
`
`The Java™ Tutorials
`
`Download Ebooks
`Download JDK
`Search Java Tutorials
`Hide TOC
`
`Object-Oriented
`Programming Concepts
`What Is an Object?
`What Is a Class?
`What Is Inheritance?
`What Is an Interface?
`What Is a Package?
`Questions and Exercises
`
`« Previous • Trail • Next »
`
`Home Page > Learning the Java Language > Object-Oriented Programming Concepts
`
`What Is Inheritance?
`
`Different kinds of objects often have a certain amount in common with each other. Mountain bikes, road bikes,
`and tandem bikes, for example, all share the characteristics of bicycles (current speed, current pedal cadence,
`current gear). Yet each also defines additional features that make them different: tandem bicycles have two
`seats and two sets of handlebars; road bikes have drop handlebars; some mountain bikes have an additional
`chain ring, giving them a lower gear ratio.
`
`Object-oriented programming allows classes to inherit commonly used state and behavior from other classes. In
`this example, Bicycle now becomes the superclass of MountainBike, RoadBike, and TandemBike. In the
`Java programming language, each class is allowed to have one direct superclass, and each superclass has the
`potential for an unlimited number of subclasses:
`
`A hierarchy of bicycle classes.
`
`The syntax for creating a subclass is simple. At the beginning of your class declaration, use the extends
`keyword, followed by the name of the class to inherit from:
`class MountainBike extends Bicycle {
`
` // new fields and methods defining
` // a mountain bike would go here
`
`}
`This gives MountainBike all the same fields and methods as Bicycle, yet allows its code to focus exclusively
`on the features that make it unique. This makes code for your subclasses easy to read. However, you must take
`care to properly document the state and behavior that each superclass defines, since that code will not appear
`in the source file of each subclass.
`
`http://docs.oracle.com/javase/tutorial/java/concepts/inheritance.html[12/12/2014 3:25:03 PM]
`
`1
`
`GOOGLE-1027
`Google Inc. v. Micrografx LLC
`IPR2014-00534
`
`
`
`What Is Inheritance? (The Java™ Tutorials > Learning the Java Language > Object-Oriented Programming Concepts)
`
`« Previous • Trail • Next »
`
`Your use of this page and all the material on pages under "The Java Tutorials" banner is subject to these legal
`notices.
`
`Problems with the examples? Try Compiling and Running the Examples:
`FAQs.
`
`Copyright © 1995, 2014 Oracle and/or its affiliates. All rights reserved.
`
`Complaints? Compliments? Suggestions? Give us your feedback.
`
`http://docs.oracle.com/javase/tutorial/java/concepts/inheritance.html[12/12/2014 3:25:03 PM]
`
`2



