黑马程序员技术交流社区

标题: 书中的一个例子,看看结果符不符合你预期? [打印本页]

作者: Synaric    时间: 2015-9-29 14:53
标题: 书中的一个例子,看看结果符不符合你预期?
  1. class Glyph{
  2.         void draw(){
  3.                 System.out.println("Glyph.draw()");
  4.         }
  5.        
  6.         Glyph(){
  7.                 System.out.println("Glyph before draw");
  8.                 draw();
  9.                 System.out.println("Glyph after draw");
  10.         }
  11. }

  12. class RoundGlyph extends Glyph{
  13.         private int radius = 1;
  14.        
  15.         public RoundGlyph(int r) {
  16.                 radius = r;
  17.                 System.out.println("RoundGlyph, radius = " + radius);
  18.         }
  19.        
  20.         void draw(){
  21.                 System.out.println("RoundGlyph.draw(), radius = " + radius);
  22.         }
  23. }

  24. public class PolyConstructor {
  25.         public static void main(String[] args) {
  26.                 new RoundGlyph(5);
  27.         }
  28. }
复制代码



运行结果:
Glyph before draw
RoundGlyph.draw(), radius = 0
Glyph after draw
RoundGlyph, radius = 5


作者: fmi110    时间: 2015-9-29 20:58
学习了  子类重写了父类方法  不看结果真的容易犯错
作者: IT黑马_梧桐    时间: 2015-9-29 21:36
不仔细看确实很容易犯错
作者: 尼玛个鸡    时间: 2015-9-29 21:47
学习了,真心慢厉害的,结果让人意想不到~!




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