属性变量的覆盖问题public class Point{
public void draw(Point p)
{System.out.println("Draw in Point");}
}
public class ColorPoint extends Point
{
public void draw (ColorPoint p)
{System.out.println("draw in ColorPoint");}
public static void main(String[] args )
{
Point p1=new Point();
Point p2=new ColorPoint();
ColorPoint p3=new ColorPoint();
p1.draw(p1);
p1.draw(p2);
p1.draw(p3);
p2.draw(p1);
p2.draw(p2);
p2.draw(p3);
p3.draw(p1);
p3.draw(p2);
p3.draw(p3);
}}
Draw in Point
Draw in Point
Draw in Point
Draw in Point
Draw in Point
Draw in Point
Draw in Point
Draw in Point
draw in ColorPoint红色的部分不知道为什么。
我知道变量的覆盖
属性的值取父类还是子类并不取决于我们创建对象的类型,而是取决于我们定义的变量的类型。
public void draw(Point p)
{System.out.println("Draw in Point");}
}
public class ColorPoint extends Point
{
public void draw (ColorPoint p)
{System.out.println("draw in ColorPoint");}
public static void main(String[] args )
{
Point p1=new Point();
Point p2=new ColorPoint();
ColorPoint p3=new ColorPoint();
p1.draw(p1);
p1.draw(p2);
p1.draw(p3);
p2.draw(p1);
p2.draw(p2);
p2.draw(p3);
p3.draw(p1);
p3.draw(p2);
p3.draw(p3);
}}
Draw in Point
Draw in Point
Draw in Point
Draw in Point
Draw in Point
Draw in Point
Draw in Point
Draw in Point
draw in ColorPoint红色的部分不知道为什么。
我知道变量的覆盖
属性的值取父类还是子类并不取决于我们创建对象的类型,而是取决于我们定义的变量的类型。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货