黑马程序员技术交流社区

标题: 简单的继承示例,为什么就不出结果呢?着急,在线等。... [打印本页]

作者: 陈迎春    时间: 2013-3-16 21:25
标题: 简单的继承示例,为什么就不出结果呢?着急,在线等。...
本帖最后由 陈迎春 于 2013-3-17 09:49 编辑

  1. package cn.njit.extendsdemo;
  2. abstract class Shape//定义抽象类
  3. {
  4.         public abstract double getArea(/*Shape shape*/);
  5. }


  6. class Rectangle extends Shape//定义矩形继承shape
  7. {
  8.         private static double length,width;
  9.         public Rectangle(double length,double width)
  10.         {
  11.                 Rectangle.length = length;
  12.                 Rectangle.width = width;
  13.         }
  14.         public double getArea(/*Rectangle rectangle*/)
  15.         {
  16.                 return Rectangle.length*Rectangle.width;
  17.         }

  18. }

  19. class Square extends Rectangle//定义长方形继承Rectangle
  20. {
  21.         //private double length,width;
  22.         public Square(double length) {
  23.                 super(length, length);
  24.                 // TODO 自动生成的构造函数存根
  25.         }
  26.         
  27. }
  28. public class AbstractDemo {

  29.         /**
  30.          * @param args
  31.          */
  32.         public static void main(String[] args) {
  33.                 // TODO 自动生成的方法存根
  34.                 Square s = new Square(5);
  35.                 s.getArea();//求长方形的面积。为什么调用这个方法求不出结果呢?
  36.         }

  37. }
复制代码

作者: 何仕映    时间: 2013-3-16 21:36
因为在你getArea()方法中返回的是一个值。并未输出打印。所以你在屏幕上是看不到结果的。
你把最后一句改一下就好了。
代码我给你修正了。
  1. abstract class Shape//定义抽象类

  2. {

  3.         public abstract double getArea(/*Shape shape*/);

  4. }





  5. class Rectangle extends Shape//定义矩形继承shape

  6. {

  7.         private static double length,width;

  8.         public Rectangle(double length,double width)

  9.         {

  10.                 Rectangle.length = length;

  11.                 Rectangle.width = width;

  12.         }

  13.         public double getArea(/*Rectangle rectangle*/)

  14.         {

  15.                 return Rectangle.length*Rectangle.width;

  16.         }



  17. }



  18. class Square extends Rectangle//定义长方形继承Rectangle

  19. {

  20.         //private double length,width;

  21.         public Square(double length)
  22.                 {

  23.                 super(length, length);

  24.                 // TODO 自动生成的构造函数存根

  25.         }

  26.         

  27. }

  28. public class AbstractDemo
  29. {



  30.         /**

  31.          * @param args

  32.          */

  33.         public static void main(String[] args)
  34.                 {

  35.                 // TODO 自动生成的方法存根

  36.                 Square s = new Square(5);

  37.                 System.out.println(s.getArea());//将返回的值打印输出。

  38.         }



  39. }

复制代码

作者: 徐升2013    时间: 2013-3-16 21:37
没有输出语句加个System.out.print就OK了
你最后的语句已经进行计算了,但是没打印出来- -哈哈  不小心了吧
作者: 陈迎春    时间: 2013-3-16 21:41
何仕映 发表于 2013-3-16 21:36
因为在你getArea()方法中返回的是一个值。并未输出打印。所以你在屏幕上是看不到结果的。
你把最后一句改一 ...

谢谢,哎,基础不够好啊,把这个都给忘了!
作者: 陈迎春    时间: 2013-3-16 21:41
徐升2013 发表于 2013-3-16 21:37
没有输出语句加个System.out.print就OK了
你最后的语句已经进行计算了,但是没打印出来- -哈哈  不小心了吧 ...

谢谢,知道了呢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2