public class CastingDemo {
public static void main(String[] args) {
// Create and initialize two objects
Object object1 = new Circle(1);
Object object2 = new Rectangle(1, 1);
// Display circle and rectangle
displayObject(object1);
}
/** A method for displaying an object
* 只有元对象是目标类的实例时才能进行类型转换*/
public static void displayObject(Object object) {
if(object instanceof Circle) {
System.out.println("The circle area is " +
((Circle)object).getArea());
System.out.println("The circle diameter is " +
((Circle)object).getDiameter());
}
else if(object instanceof Rectangle) {
System.out.println("The circle area is " +
((Rectangle)object).getArea());
System.out.println("The circle diameter is " +
((Rectangle)object).getDiameter());
}
}
}
public static void main(String[] args) {
// Create and initialize two objects
Object object1 = new Circle(1);
Object object2 = new Rectangle(1, 1);
// Display circle and rectangle
displayObject(object1);
}
/** A method for displaying an object
* 只有元对象是目标类的实例时才能进行类型转换*/
public static void displayObject(Object object) {
if(object instanceof Circle) {
System.out.println("The circle area is " +
((Circle)object).getArea());
System.out.println("The circle diameter is " +
((Circle)object).getDiameter());
}
else if(object instanceof Rectangle) {
System.out.println("The circle area is " +
((Rectangle)object).getArea());
System.out.println("The circle diameter is " +
((Rectangle)object).getDiameter());
}
}
}