一、定义一个矩形类,要求:
1、有两个私有成员变量length和width;
2、定义两个构造方法(带两个参数、不带参数);
3、定义两组设置存取length和width方法;
4、定义两个方法(求面积、求周长);
5、重写toString方法(输出:“矩形(长,宽)”);
6、重写equal方法(当两个矩形面积相等时为真);
7、自定义异常类,创建矩形对象中当矩形长宽小于等于零时抛出自定义异常;
8、定义一个测试类完成如下要求:
(1)利用随机方法创建若干矩形对象保存到数据文件。
(2)读出文件中所有矩形对象并计算输出矩形面积之和。
(3)对可能出现的异常进行处理。
参考一下:
public class 继承测试 {
/*
在该类中定义两个方法,一个是 getName,用于使用反射机制获得类名称;另一个是抽象方法 getArea ,用来计算图形的面积。
(2)创建圆形类 Circle ,继承自 Shape ,并实现抽象方法getArea。
在 Circle 类的构造方法中获得了圆形的半径,用于在getArea计算圆形的面积。
(3)创建矩形类 Rectangle ,继承自 Shape ,
并实现抽象方法 getArea 。在 Rectangle 类的构造方法中获得了矩形的长和宽,用于在 getArea计算矩形的面积。
*/
public static void main(String[] args) {
Shape circle= new Circle(10);
System.out.println("类名称是:"+circle.getName());
System.out.println("圆的面积="+circle.getArea());
Shape rect = new Rectangle(10,20);
System.out.println("类名称是:"+rect.getName());
System.out.println("矩形的面积="+rect.getArea());
}
}
abstract class Shape{
String getName() {
return this.getClass().getName();
}
abstract float getArea();
}
class Circle extends Shape{
float r;
public Circle() {};
public Circle(float r) {
this.r = r;
}
@Override
float getArea() {
return 3.14f*r*r;
}
}
class Rectangle extends Shape{
float width;
float height;
public Rectangle() {}
public Rectangle(float width,float height) {
this.width = width;
this.height = height;
}
@Override
float getArea() {
return width*height;
}
}
我给你写,稍等下。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632