举例来说/**
* @author Administrator
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/class Chinese{
public static void print(){
System.out.println("this is 中国人");
}
}
class Guangdongren extends Chinese{
public static void print(){
System.out.println("this is 广东人 ");
}
}
class HunanRen extends Chinese{
public static void print(){
System.out.println("this is 湖南人 ");
}
}
class GuangzhouRen extends Guangdongren{
public static void print(){
System.out.println("this is 广州人 ");
}
}public class Test {
public static void main(String args[]){
//Chinaese h=new HunanRen();
//h.print1();
Chinese c=new Chinese();//这样编译可以通过,但运行会抛出异常
HunanRen h=(HunanRen)c;// 这是因为向下转型错误,中国人不一定是湖南
HunanRen h=new HunanRen();//这样就没有问题,这是向上转型,
Chinese c=(Chinese)h; //湖南人一定是中国人。。
h.print1();
}
}
* @author Administrator
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/class Chinese{
public static void print(){
System.out.println("this is 中国人");
}
}
class Guangdongren extends Chinese{
public static void print(){
System.out.println("this is 广东人 ");
}
}
class HunanRen extends Chinese{
public static void print(){
System.out.println("this is 湖南人 ");
}
}
class GuangzhouRen extends Guangdongren{
public static void print(){
System.out.println("this is 广州人 ");
}
}public class Test {
public static void main(String args[]){
//Chinaese h=new HunanRen();
//h.print1();
Chinese c=new Chinese();//这样编译可以通过,但运行会抛出异常
HunanRen h=(HunanRen)c;// 这是因为向下转型错误,中国人不一定是湖南
HunanRen h=new HunanRen();//这样就没有问题,这是向上转型,
Chinese c=(Chinese)h; //湖南人一定是中国人。。
h.print1();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货