按要求编写一个Java应用程序:
(1)编写一个矩形类Rect,包含:
两个属性:矩形的宽width;矩形的高height。
两个构造方法:
1.一个带有两个参数的构造方法,用于将width和height属性初化;
2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。
两个方法:
求矩形面积的方法area()
求矩形周长的方法perimeter()
(2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用
矩形的左上角坐标来标识,包含:
添加两个属性:矩形左上角坐标startX和startY。
两个构造方法:
带4个参数的构造方法,用于对startX、startY、width和height属性初始化;
不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0的矩形;
添加一个方法:
判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩形内,返回true, 否则,返回false。
提示:点在矩形类是指满足条件:x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)
(3)编写PlainRect类的测试程序创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;计算并打印输出矩形的面积和周长;判断点(25.5,13)是否在矩形内,并打印输出相关信息。
package ss;//矩形public class Rect { private int height=10; private int width=20; public int getHeight() { return height; } public void setHeight(int height) { this.height = height; } public int getWidth() { return width; } public void setWidth(int width) { this.width = width; } //有参的构造方法 public Rect(int height, int width) { super(); this.height = height; this.width = width; } //无参的构造方法 public Rect() { super();// this.height = 10;// this.width = 20; } public int area() { return this.height*this.width; } //周长 public int perimeter() { return (this.height+this.width)*2; }}package ss;public class PlainRect extends Rect { private int startX; private int startY; public int getStartX() { return startX; } public void setStartX(int startX) { this.startX = startX; } public int getStartY() { return startY; } public void setStartY(int startY) { this.startY = startY; } //带参的构造方法 public PlainRect(int height, int width, int startX, int startY) { super(height, width); this.startX = startX; this.startY = startY; } //无参 public PlainRect() { super(0,0);// this(0,0,0,0,) //效果一样 } /** * 判断点是否在矩形内 * @param x 点x的坐标 * @param y 点y的坐标 * @return 判断是否在矩形内 */ public boolean isInside(double x,double y) { return x>=startX&&x<=(startX+getWidth())&&y<=startY&&y>=(startY+getHeight()); } }package ss;public class TestPlainRect { public static void main(String[] args) { // TODO 自动生成的方法存根 PlainRect pr=new PlainRect(10,20,10,10); System.out.println("矩形的面积"+pr.area()); System.out.println("矩形的周长"+pr.perimeter()); System.out.println("点是否在矩形内部"+pr.isInside(25.5, 13)); }}