Can a class inherit the constructors of its superclass?
Answer Posted / sridhar
Inheriting will inherits the constructor as well.
// This program uses inheritance to extend Box.
class Box {
double width;
double height;
double depth;
// construct clone of an object
Box(Box ob) { // pass object to constructor
width = ob.width;
height = ob.height;
depth = ob.depth;
}
// constructor used when all dimensions specified
Box(double w, double h, double d) {
width = w;
height = h;
depth = d;
}
// constructor used when no dimensions specified
Box() {
width = -1; // use -1 to indicate
height = -1; // an uninitialized
depth = -1; // box
}
// constructor used when cube is created
Box(double len) {
width = height = depth = len;
}
// compute and return volume
double volume() {
return width * height * depth;
}
}
// Here, Box is extended to include weight.
class BoxWeight extends Box {
double weight; // weight of box
// constructor for BoxWeight
BoxWeight(double w, double h, double d, double m) {
width = w;
height = h;
depth = d;
weight = m;
}
}
class DemoBoxWeight {
public static void main(String args[]) {
BoxWeight mybox1 = new BoxWeight(10, 20, 15, 34.3);
BoxWeight mybox2 = new BoxWeight(2, 3, 4, 0.076);
double vol;
vol = mybox1.volume();
System.out.println("Volume of mybox1 is " + vol);
System.out.println("Weight of mybox1 is " + mybox1.weight);
System.out.println();
vol = mybox2.volume();
System.out.println("Volume of mybox2 is " + vol);
System.out.println("Weight of mybox2 is " + mybox2.weight);
}
}
The output from this program is shown here:
Volume of mybox1 is 3000.0
Weight of mybox1 is 34.3
Volume of mybox2 is 24.0
Weight of mybox2 is 0.076
BoxWeight inherits all of the characteristics of Box and
adds to them the weight
component. It is not necessary for BoxWeight to re-create
all of the features found in
Box. It can simply extend Box to meet its own purposes
| Is This Answer Correct ? | 2 Yes | 1 No |
Post New Answer View All Answers
Explain Basics of OOP Language in java
Does java trim remove newline?
Can we clone singleton object in java?
Can you explain inner class.
How do you test a method for an exception using junit?
Why is a string immutable?
What is the benefit of inner / nested classes ?
What is t in parametric equations?
What about main() method in java ?
What are void methods?
Can we override the static methods?
Why array is used in java?
Can we execute a program without main?
what is the difference between a threads start() and run() methods? : Java thread
What language is java written?