稍微看了看注释 就这么写了 大家来挑问题 
Rectangle.java 父类
package oop;
/**
 * Title: 矩形类<br>
 * Description:定义矩形类,定义设定矩形长和宽的方法,定义计算矩形面积,周长的方法<br>
 * @author hatzhou
 * @version 1.0
 */
class Rectangle {
private int width;
private int height;

/**
 * 这是一个构造方法
 * @param wid 矩形的宽
 * @param hei 矩形的高
 */
public Rectangle(int wid, int hei) {
this.width = wid;
this.height = hei;
}
/**
 *设定矩形宽度的方法
 * @param wid 矩形宽度
 */
public void setWidth(int wid) {
this.width = wid;
}
/**
 * 设定矩形的高度
 * @param hei 矩形的高度
 */
public void setHeight(int hei) {
this.height =hei;
}
/**
 * 获得矩形的宽度
 * @return this.width 返回矩形的宽度
 */
public int getWidth() {
return this.width;
}
/**
 * 获得矩形的高度
 * @return this.height 返回矩形的高度
 */
public int getHeight() {
return this.height;
}
/**
 * 计算矩形的面积
 * @return 返回矩形的面积
 */
public int getArea() {
return this.height * this.width;
}
/**
 * 计算矩形的周长
 * @return 返回矩形的周长
 */
public int getGirth() {
return 2 * (this.width + this.height);
}
}
Square.java 子类
package oop;
/**
 * Title:正方形
 * Description:定义正方形,继承矩形类,初始化正方形
 * @author hatzhou
 * @version1.0
 */
class Square extends Rectangle {
private int side;
public Square(int side) {
super(side,side);


public static void main(String[] args) {
Square s = new Square(3);
System.out.println("这个图形的面积是" + s.getArea() + "周长为" + s.getGirth());
}

}注释啊注释 求教 各种问题就来吧 我接着

解决方案 »

  1.   

    Square 里的
    private int side;
    没用上
      

  2.   

    int side要不要改成long side
      

  3.   

    刚研究了下java 设计模式,按照里氏代换原则,正方形并不适合继承矩形。
    矩形可以升值长宽,而正方形需保持长宽长度一致,而你继承下来的方法明显满足不了这点,可以自由的设置长宽。
      

  4.   


    +1,不过从算法逻辑来说是可以继承的,因为计算公式相同,唯一不同的是一个长宽不等,一个长宽相等LZ,如果你的程序里调用
    s.setWidth(100); //你还能保证是正方形吗?想想看应该怎么扩展?