1.定义一个shape(形状)类
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Shape(String name) {
this.name = name;
}
void erase(Shape shape){
System.out.println(shape.getName()+"执行了erase");
}
void draw(Shape shape){
System.out.println(shape.getName()+"执行了draw");
}
void dosomething(Shape shape){
shape.erase(shape);
shape.draw(shape);
}
**2.Circle和Line继承自Shape**
public class Circle extends Shape {
public Circle(String name) {
super(name);
}
}
public class Line extends Shape {
public Line(String name) {
super(name);
}
}
3.执行代码
public static void main(String[] args) {
Circle circle = new Circle(“圆”);
Line line = new Line(“线”);
circle.dosomething(circle);
line.dosomething(line);
}
结果截图:
主要刚开始看java编程思想,看到多态。编译器在绑定的时候后期绑定,即刚开始编译的时候不具体执行什么操作,当编译到这里的时候再执行操作,这样可以让程序按照我们要求的方向走,虽然用的是同一个方法,但执行的过程和结果都不一样,这是实现多态的一种方式。关于向上转型与向下转型,简单来说就是父类有更高的优先级(父爱如山),父类具有更好的包容性。