InheritanceDemo.java: // StudentName Today's Date public class InheritanceDemo { public static void main(String[] args) { KleenexBox kb1 = new KleenexBox(); KleenexBox kb2 = new KleenexBox(100); Box justABox = new Box(); System.out.println("justABox has area " + BoxArea(justABox)); System.out.println("kb1 has area " + BoxArea(kb1)); System.out.println("kb2 has this many square inches of tissue: " + KleenexArea(kb2)); } public static double BoxArea (Box b) { return b.width * b.length; } public static double KleenexArea (KleenexBox a) { return a.width * a.length * a.numTissues; } } Box.java: // Student Name Today's Date public class Box { public double width; public double length; public String label; } KleenexBox.java: // Student's Name Today's Date public class KleenexBox extends Box { public int numTissues; // A new Kleenex box public KleenexBox() { numTissues = 50; length = 8.0; width = 5.0; } // A new Kleenex box with a specific number of tissues public KleenexBox(int numberOfTissues) { numTissues = numberOfTissues; length = 8.0; width = 5.0; } public String toString() { return ("This box is " + length + " by " + width + " and has " + numTissues + " tissues."); } } Questions: 1. Why can't BoxArea use b.numTissues? (Hint: if you try, Java will give you an error.) 2. Why is the programmer able to pass both justABox and kb1 as arguments to boxArea? (Hint: one word, starts with P.) 3. Why can't the programmer pass justABox as an argument to kleenexArea?
InheritanceDemo.java:
// StudentName Today's Date
public class InheritanceDemo {
public static void main(String[] args) {
KleenexBox kb1 = new KleenexBox();
KleenexBox kb2 = new KleenexBox(100);
Box justABox = new Box();
System.out.println("justABox has area " + BoxArea(justABox));
System.out.println("kb1 has area " + BoxArea(kb1));
System.out.println("kb2 has this many square inches of tissue: " + KleenexArea(kb2));
}
public static double BoxArea (Box b) {
return b.width * b.length;
}
public static double KleenexArea (KleenexBox a) {
return a.width * a.length * a.numTissues;
}
}
Box.java: // Student Name Today's Date
public class Box {
public double width;
public double length;
public String label;
}
KleenexBox.java: // Student's Name Today's Date public class KleenexBox extends Box {
public int numTissues;
// A new Kleenex box
public KleenexBox() {
numTissues = 50;
length = 8.0;
width = 5.0;
}
// A new Kleenex box with a specific number of tissues
public KleenexBox(int numberOfTissues) {
numTissues = numberOfTissues;
length = 8.0;
width = 5.0;
}
public String toString() {
return ("This box is " + length + " by " + width + " and has " + numTissues + " tissues.");
}
}
Questions:
1. Why can't BoxArea use b.numTissues? (Hint: if you try, Java will give you an error.)
2. Why is the programmer able to pass both justABox and kb1 as arguments to boxArea? (Hint: one word, starts with P.)
3. Why can't the programmer pass justABox as an argument to kleenexArea?
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 2 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)