按要求编写一个Java应用程序: (1)编写一个矩形类Rect,包含: 两个属性:矩形的宽width;矩形的高height。 两个构造方法: 1.一个带有两个参数的构造方法,用于将width和height属性初化; 2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。 两个方法: 求矩形面积的方法area() 求矩形周长的方法perimeter() (2)通过继承Rect类编写一个具有确定位

package com.hanqi.test;

public class Rect {
    private double width=10;
    
    private double height=10;
    


    public double getWidth() {
        return width;
    }
    public void setWidth(double width) {
        this.width = width;
    }
    public double getHeight() {
        return height;
    }
    public void setHeight(double height) {
        this.height = height;
    }
    //创建有参构造方法
    public Rect(double width,double height)
    {
        this.width=width;
        this.height=height;
    }
    //创建无参构造方法
    public Rect()
    {
        
    }
    //构建成员方法,获取周长和面积
    public double getZhouchang()
    {
        return 2*(width+height);
    }
    public double getArea()
    
    {
        return width*height;
    }

    
}
package com.hanqi.test;

public class PlainRect extends Rect {
    //定义属性
    private double startX;
    
    private double startY;
    public double getStartX() {
        return startX;
    }
    public void setStartX(double startX) {
        this.startX = startX;
    }
    public double getStartY() {
        return startY;
    }
    public void setStartY(double startY) {
        this.startY = startY;
    }
    //构建有参数的构造方法
    public PlainRect(double startX,double startY,double width,double height)
    {
        
        super(width,height);
        this.startX=startX;
        
        this.startY=startY;
    
        
        
        
        

    }
    //构建无参构造方法
    public PlainRect()
    {
        super(0,0);
    }
    /***
     * 判断点是否在矩形内部
     * 
     * @param x 点的x坐标
     * @param y 点的y坐标
     * @return 是否在矩形内部
     */
    //成员方法,符合条件返回true,不符合条件的返回false。
    public boolean isInside(double x,double y)
    
    {
        if(x>=startX&&x<=(startX+getWidth())&&y<startY&&y>=(startY-getHeight()))
        {
            System.out.println("该点在矩形内部");
        return true;
        }
        else
        {
            System.out.println("该点不在矩形内部");
            return false;
        }
        
    }
    
    }
    
package com.hanqi.test;

public class Test2 {

    public static void main(String[] args) {
        //无参构造方法求周长
    Rect rc=new Rect();
    rc.setHeight(20);
    rc.setWidth(10);
    System.out.println("无参构造方法求:周长是:"+rc.getZhouchang()+",面积是:"+rc.getArea());
    //有参构造方法测试
    Rect rc1=new Rect(20, 10);
    System.out.println("有参构造方法求:周长是;"+rc1.getZhouchang()+"面积是;"+rc1.getArea());
    //无参构造方法测试
    PlainRect pr=new PlainRect();
    
    pr.setHeight(20);
    pr.setWidth(10);
    pr.setStartX(10);
    pr.setStartY(10);
    
    pr.isInside(20, -9);
    //有参构造方法测试
    PlainRect pr1=new PlainRect(10, 10, 10, 20);
    pr1.isInside(25.5, 13);

    }

}

 

posted @ 2016-09-20 22:24  -加勒比海带  阅读(12488)  评论(0编辑  收藏  举报