53 lines
1.7 KiB
Java
53 lines
1.7 KiB
Java
package chapter4.demo45;
|
|
|
|
/**
|
|
* 图形计算器类
|
|
* 1. final 类:防止被继承
|
|
* 2. 私有构造函数(不可被实例化)
|
|
* 只有静态方法,不需要实例化,所有方法都可以通过类名调用
|
|
*/
|
|
public final class ShapeCalculate {
|
|
private ShapeCalculate() {
|
|
throw new AssertionError("不应该被实例化");
|
|
}
|
|
|
|
// 打印图形面积
|
|
public static void printArea(Shape shape) {
|
|
if (shape instanceof Rectangle) {
|
|
System.out.println("正方形面积:"+shape.getArea());
|
|
} else if (shape instanceof Circle) {
|
|
System.out.println("圆形面积:"+shape.getArea());
|
|
} else {
|
|
System.out.println("未知图形面积:" + shape.getArea());
|
|
}
|
|
}
|
|
|
|
// 打印图形周长
|
|
// public static void printPerimeter(Shape shape) {
|
|
// if (shape instanceof Rectangle) {
|
|
// System.out.print("长方形");
|
|
// } else if (shape instanceof Circle) {
|
|
// System.out.print("圆形");
|
|
// } else {
|
|
// System.out.print("未知图形");
|
|
// }
|
|
// System.out.println("周长:"+shape.getPerimeter());
|
|
// }
|
|
|
|
public static void printPerimeter(Circle circle) {
|
|
System.out.println("圆形周长:"+circle.getPerimeter());
|
|
}
|
|
|
|
public static void printPerimeter(Rectangle rectangle) {
|
|
System.out.println("长方形周长:"+rectangle.getPerimeter());
|
|
}
|
|
|
|
// 打印计算器菜单
|
|
public static void printMenu() {
|
|
System.out.println("==========图形计算器==========");
|
|
System.out.println("1.圆形");
|
|
System.out.println("2.长方形");
|
|
System.out.print("请输入序号选择功能:");
|
|
}
|
|
}
|