| Welcome to JShell -- Version 14.0.1 | For an introduction type: /help intro jshell> Rectangle r = new Rectangle(6,8); | Error: | cannot find symbol | symbol: class Rectangle | Rectangle r = new Rectangle(6,8); | ^-------^ | Error: | cannot find symbol | symbol: class Rectangle | Rectangle r = new Rectangle(6,8); | ^-------^ jshell> /open Shape.java jshell> /open Rectangle.java jshell> Rectangle r = new Rectangle(6,8); r ==> Rectangle@1d56ce6a jshell> r.area() $4 ==> 48.0 jshell> r.diameter() $5 ==> 10.0 jshell> r.perimeter() $6 ==> 28.0 jshell> Shape s = new Rectangle(3,4); s ==> Rectangle@238e0d81 jshell> s.area() $8 ==> 12.0 jshell> s.perimeter() $9 ==> 14.0 jshell> s.diameter() $10 ==> 5.0 jshell> //Rectangle is a subtype of Shape. jshell> //Shape is a supertype of Rectangle jshell> /exit | Goodbye (base) MAC:Mon Nov 09:14:04:shapeF> vi Rectangle.java (base) MAC:Mon Nov 09:14:05:shapeF> javac Rectangle.java Rectangle.java:28: error: class, interface, or enum expected } ^ 1 error (base) MAC:Mon Nov 09:14:05:shapeF> !vi vi Rectangle.java (base) MAC:Mon Nov 09:14:05:shapeF> !j javac Rectangle.java (base) MAC:Mon Nov 09:14:05:shapeF> !vi vi Rectangle.java (base) MAC:Mon Nov 09:14:12:shapeF> javac *.java (base) MAC:Mon Nov 09:14:12:shapeF> ls Circle.class Rectangle.class Shape.class eat_shorts.py Circle.java Rectangle.java Shape.java (base) MAC:Mon Nov 09:14:12:shapeF> jshell | Welcome to JShell -- Version 14.0.1 | For an introduction type: /help intro jshell> Shape s = new Rectangle(6,8); | Error: | cannot find symbol | symbol: class Shape | Shape s = new Rectangle(6,8); | ^---^ | Error: | cannot find symbol | symbol: class Rectangle | Shape s = new Rectangle(6,8); | ^-------^ jshell> /open Shape.java jshell> /open Rectangle.java jshell> /open Circle.java jshell> Shape s = new Rectangle(6,8); s ==> Rectangle(6.0, 8.0) jshell> s.area() $5 ==> 48.0 jshell> s = new Circle(10); s ==> Circle(10.0) jshell> ArrayList al = new ArrayList<>(); al ==> [] jshell> al.add(new Circle(10)); $8 ==> true jshell> al.add(new Rectangle(10,10)); $9 ==> true jshell> double out; out ==> 0.0 jshell> for(Shape t: al) ...> { ...> out += al.area(); ...> } | Error: | cannot find symbol | symbol: method area() | out += al.area(); | ^-----^ jshell> for(Shape t: al) ...> { ...> out += t.area(); ...> } jshell> out out ==> 414.1592653589793 jshell> /exit | Goodbye (base) MAC:Mon Nov 09:14:16:shapeF> vi Triangle.java (base) MAC:Mon Nov 09:14:29:shapeF> javac Triangle.java (base) MAC:Mon Nov 09:14:30:shapeF> ls Circle.class Polygon.class Rectangle.java Shape.java Triangle.java Circle.java Rectangle.class Shape.class Triangle.class eat_shorts.py (base) MAC:Mon Nov 09:14:35:shapeF> javac *.java (base) MAC:Mon Nov 09:14:35:shapeF> jshell | Welcome to JShell -- Version 14.0.1 | For an introduction type: /help intro jshell> /open Shape.java jshell> /open Polygon.java | File 'Polygon.java' for '/open' is not found. jshell> /open Polygon.java | File 'Polygon.java' for '/open' is not found. jshell> /open Polygon.java | File 'Polygon.java' for '/open' is not found. jshell> /exit | Goodbye (base) MAC:Mon Nov 09:14:36:shapeF> ls Circle.class Polygon.class Rectangle.java Shape.java Triangle.java Circle.java Rectangle.class Shape.class Triangle.class eat_shorts.py (base) MAC:Mon Nov 09:14:36:shapeF> ls Circle.class Polygon.java Shape.class Triangle.java Circle.java Rectangle.class Shape.java eat_shorts.py Polygon.class Rectangle.java Triangle.class (base) MAC:Mon Nov 09:14:37:shapeF> jshell | Welcome to JShell -- Version 14.0.1 | For an introduction type: /help intro jshell> /open Polygon.java jshell> /open Shape.java jshell> /open Circle.java jshell> /open Triangle.java jshell> /opewn Rectangle.java | Invalid command: /opewn | Type /help for help. jshell> /open Rectangle.java jshell> Shape s = new Rectangle(6,8) s ==> Rectangle(6.0, 8.0) jshell> s.area() $7 ==> 48.0 jshell> s.toString() $8 ==> "Rectangle(6.0, 8.0)" jshell> s.diameter() $9 ==> 10.0 jshell> Polygon p = new Triangle(3,4,5); p ==> Triangle(3.0, 4.0, 5.0) jshell> p.area() $11 ==> 6.0 jshell> p.diameter() $12 ==> 5.0 jshell> p.perimeter() $13 ==> 12.0 jshell> p.numSides() $14 ==> 3 jshell> Object o = new Triangle(3,6,7); o ==> Triangle(3.0, 6.0, 7.0) jshell> o.toString() $16 ==> "Triangle(3.0, 6.0, 7.0)" jshell>