The AP Computer Science A 5-hour live stream review is here!Β πŸ’»

Join us on May 5, 2021 for the 🌢️ AP Computer Science A Cram Finale for a last minute review to get all your questions answered!

πŸ“š

All Subjects

Β >Β 

πŸ’»Β 

AP Comp Sci A

Β >Β 

πŸ–²

Unit 9

9.2 Writing Constructors for Subclasses

2 min readβ€’november 16, 2020

Peter Cao


While methods and instance variables of a superclass are carried over to a subclass, constructors are not. That means that we have to write our constructors again! Luckily, we don't have to start over from scratch. We have a special keyword that can help us. This is the super keyword. We will learn how to use it with constructors in this topic and then with methods in the next topic.
Using the super keyword, we can call the superclass’s constructor and use that to construct an object of the subclass.
We will do that in the following scenario. We will have a Quadrilateral superclass with a constructor, an area() method, and an isEquivalent() method. We will have the method headers written in the quadrilateral class, but without the implementation shown as follows:

Java Example

/** Represents a quadrilateral */ public class Quadrilateral { double sideOne; double sideTwo; double sideThree; double sideFour; /** Makes a quadrilateral with 4 sides of length sideOne, sideTwo, sideThree, sideFour */ public Quadrilateral(double sideOne, double sideTwo, double sideThree, double sideFour) { } /** Calculates the area of the quadrilateral */ public double area() { } /** Determines whether another quadrilateral with given side lengths is the same as the object we have */ public boolean isEquivalent(double sideOne, double sideTwo, double sideThree, double sideFour) { } }
Now, we want to make a subclass that represents a Rectangle. First, we will have to make the method header and constructor of the Rectangle class:
/** Represents a rectangle */ public class Rectangle extends Quadrilateral { /** Makes a rectangle given a length and width */ public Rectangle(double length, double width) { super(length, width, length, width); } }
By calling the super constructor here, we are using the Quadrilateral constructor but using the parameters passed into the Rectangle constructor as the Quadrilateral constructor parameters. If the Rectangle class has any extra instance variables not in the Quadrilateral class, they would be initialized separately.

Was this guide helpful?

πŸ’ͺ🏽 Are you ready for the Comp Sci exam?
Take this quiz for a progress check on what you’ve learned this year and get a personalized study plan to grab that 5!
START QUIZ
Hours Logo
Studying with Hours = the ultimate focus mode
Start a free study session
FREE AP comp sci a Survival Pack + Cram Chart PDF
Sign up now for instant access to 2 amazing downloads to help you get a 5
Browse Study Guides By Unit
πŸ™
Exam Reviews
πŸ–±
Unit 10: Recursion
βž•
Unit 1: Primitive Types
πŸ“±
Unit 2: Using Objects
πŸ–₯
Unit 3: Boolean Expressions and if Statements
πŸ•Ή
Unit 4: Iteration
βš™οΈ
Unit 5: Writing Classes
⌚️
Unit 6: Array
πŸ’Ύ
Unit 7: ArrayList
πŸ’»
Unit 8: 2D Array
Join us on Discord
Thousands of students are studying with us for the AP Computer Science A exam.
join now
πŸ“± Stressed or struggling and need to talk to someone?
Talk to a trained counselor for free. It's 100% anonymous.
Text FIVEABLE to 741741
Β© 2021 Fiveable, Inc.