大佬救命,尽快!!大一的题目我觉得我不配哭哭

1.编写一个长方形类(抽象类),包括定义宽w和高h的public属性,编程如下:
(1)一个不带参数的构造方法,用于将w和h初始化为0;
(2)一个带w和h的构造方法,用于初始化w和h;
(3)计算面积的方法calArea()和计算周长的方法calPerimenter();
2.通过继承长方形类类编写一个具有可以确定位置的矩形类PlainRect,其确定位置用
    矩形的左上角坐标来标识,包含:添加两个属性:矩形左上角坐标startX和startY。编程如下:
(1)定义public修饰的startX和startY两个属性;
(2)一个不带参数的构造方法,用于将w,h, startX, startY初始化为0;
(3)一个带w,h, startX, startY的构造方法,用于初始化w,h, startX, startY;
(4)  定义一个方法: 判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩形内,返回true, 否则,返回false。
  提示:点在矩形类是指满足条件:
            x>=startX&&x<=(startX+width)&&y=(startY-height)
(5)编写PlainRect类的测试程序
 a. 创建一个左上角坐标为(12,18),长为20,宽为10的矩形对象;
    计算并打印输出矩形的面积和周长;
b.给出任意2个坐标点,如(14,19)和(11,13),判断该坐标是否在该矩形内部,如果在矩形内部,打印在矩形内部,否则打印不在矩形内部。

/**
 * 该类没有抽象方法,设置为抽象类没有意义
 */
public abstract class Rectangle {
    /**
     * 宽
     */
    public double w;
    /**
     * 高
     */
    public double h;

    /**
     * 无参构造
     */
    public Rectangle() {

    }

    /**
     *  全参构造
     * @param w - 指定宽
     * @param h - 指定高
     */
    public Rectangle(double w, double h) {
        this.w = w;
        this.h = h;
    }

    /**
     * 计算面积
     * @return 宽 X 高 = 面积
     */
    public double calArea() {
        return w * h;
    }

    /**
     *  计算周长
     * @return 2 X (宽 + 高) = 周长
     */
    public double calPerimenter() {
        return 2 * (w + h);
    }
}



public class PlainRect extends Rectangle {
    /**
     * 左上角的x坐标
     */
    public double startX;
    /**
     * 左上角的y坐标
     */
    public double startY;

    /**
     * 无参构造
     */
    public PlainRect() {

    }

    /**
     *  全参构造
     * @param w        - 指定宽
     * @param h        - 指定高
     * @param startX   - 指定x坐标
     * @param startY   - 指定x坐标
     */
    public PlainRect(double w, double h, double startX, double startY) {
        super(w, h);
        this.startX = startX;
        this.startY = startY;
    }

    /**
     * 判断点是否在矩形内
     * @param x  - x坐标
     * @param y  - y坐标
     * @return
     */
    public boolean isInside(double x,double y) {
        return  x >= startX
                && x <= (startX + w)
                && y <= startY
                && y >= startY - h;
    }
}




/**
 * 测试类
 */
public class PlainRectTest {

    private static PlainRect rect;

    /**
     * 初始化数据
     */
    private static void init() {
        rect = new PlainRect(20, 10, 12, 18);
    }

    /**
     * 测试打印周长面积
     */
    public static void testAreaPerimenter() {
        System.out.println("矩形的面积为:" + rect.calArea());
        System.out.println("矩形的周长为:" + rect.calPerimenter());
    }

    public static void testInside(double x, double y) {
        if (rect.isInside(x, y)) {
            System.out.println("在矩形内部");
        } else {
            System.out.println("不在矩形内部");
        }
    }

    /**
     * 执行入口
     * @param args --
     */
    public static void main(String[] args) {
        init();
        testAreaPerimenter();
        testInside(14, 19);
        testInside(11, 13);
        testInside(13, 11);
    }
}

希望对你有帮助...