对象类型转换
向上转型:从一个较为具体的类转换成一个较为抽象的类。
子类向父类的转换。所有的平行四边形都是四边形。
package test;
abstract class 四边形{
public abstract void area();
}
class 平行四边形 extends 四边形{
public float hight;
public float weight;
public 平行四边形(float hight,float weight) {
this.hight=hight;
this.weight=weight;
}
public void area() {
System.out.println("矩形面积:"+hight*weight);
}
public void show() {
}
}
public class 向上转型 {
public static void main(String[] args) {
四边形 s=new 平行四边形(2,3);
s.area();
}
}
向下转型:将较为抽象的类转换成较为具体的类,向下转型通常会出现问题。例如:所有的四边形不都是平行四边形。
package test;
class A{
public void showa() {
System.out.println("父类");
}
}
class B extends A{
public void showb() {
System.out.println("子类");
}
}
public class 向下转型 {
public static void main(String[] args) {
A a1=new B();//向上转型
B b1=(B)a1;//向下转型
b1.showa();
}
}