什么是向上转型型是什么意思

问题:fun3()和fungod()分别是Student类和Allen类里面的方法我想调用他们的时候为什么要什么是向上转型型呢,感觉没什么意义直接写Student s=new Student()和Allen a=new Allen()各建立一个新对象再调用他们各自特有的方法不就可以了吗?

那你这个方法的可利用率就低了但如果用person,那这个方法既可以匹配student又可以匹配allen


再比如你的程序开始的时候确定有一個person型对象,但是要根据用户的选择来决定他要被实例化成哪种类型的但如果你要分开来声明的话,那你就因为不确定性必须要声明两个變量分别来等待实例化。

你这个程序里就只有public static void fun(Person p)这一个方法如果说是分成两个单独的类,要改的话就只需要改这一个参数。。


但是後面做大程序的时候往往好几十个方法,如果你不用person而用了student,那你一旦在写程序的时候发现这里应该用allen而不是student而你又没用person,那你这裏一改就要改N多的地方而且一改动很有可能会引发其他的错误,而且你这些方法很有可能又被其他的类所调用那其他的类肯定也要跟著改啊,那这个改动量就非常大了

但是如果你使用的person,那你只需要改动它实例化的语句就ok了上面这么大的改动量现在只需要改一句话。

本文是引用自百度知道的一个问题和解答

}

我要回帖

更多关于 什么是向上转型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信