Java2024/src/chapter4/demo45/ShapeCalculate.java
2024-10-29 09:17:12 +08:00

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("请输入序号选择功能:");
}
}