class="article_content clearfix">
class="markdown_views prism-dracula">
首先abstract类
class="prettyprint">class=" hljs cs">
Glyph {
draw();
() {
System. .println( );
draw();
System. .println( );
}
}
接来下子类
class="prettyprint">class=" hljs java">
radius = ;
( i ) {
radius = i;
System.out.println( +radius);
}
draw() {
System.out.println( +radius);
}
}
最好main方法运行
class="prettyprint">class=" hljs cs">
Text {
(String[] args) {
RoundGlyph( );
}
}
、
输出结果为:
Glyph() before draw()
RoundGlyph().radius=0
Glyph() after draw()
RoundGlyph().radius=5
按照普通类的继承方式 应该是先走完父类构造方法中的操作再走子类中的。
抽象的触发父类draw()方法也连带着子类中的一同触发。并且是在子类并没有为
radius分配该有空间操作之前进行。因此radius的值并不是默认的初始值1,
而是在未采取任何操作之前,系统默认的初始值0.