new是实例化一个变量类型,例如TextClass a=new TextClass();
一个父类型可以实力化为一个子类型
e.g.
class Quardrangle{
public static void draw(Quardrangle q){
System.out.println("四边形画出来了咩。");
}
}
public class Parallelogram extends Quardrangle {
public static void main(String args[]){
Quardrangle p=new Parallelogram();
draw(p);
}
}
运行结果:四边形画出来了咩。
而如果反之
e.g.
class Quardrangle{
public static void draw(Quardrangle q){
System.out.println("四边形画出来了咩。");
}
}
public class Parallelogram extends Quardrangle {
public static void main(String args[]){
Parallelogram p=new Quardrangle();
draw(p);
}
}
运行结果
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
类型不匹配:不能从 Quardrangle 转换为 Parallelogram
at Parallelogram.main(Parallelogram.java:8)