Java中多态的懂得
添加时间:2013-7-8 点击量:
一开端对多态也是半知半解的,比来又要用到多态,所以又复习了一下
多态是持续中的一种特此外
for example
class FatherClass
{
function1(){a1}
function2(){a2}
function3(){a3}
}
class SonClass extends FatherClass
{
function1(){b1} //覆盖父类办法
function2(){b2} //覆盖父类办法
function4(){xx} //新增办法
}
FatherClass fc = new SonClass(); //前后两类型不合就产生多态了(应当说是持续关系的类型,前者必然如果后面的父类)
fc.function1(); //b1功能
fc.function2(); //b2功能
fc.function3(); //a3功能
fc.function4(); //失足啦
父类对象时编译时类型,子类是运行时类型
子类持续了父类的办法,因为父类之下的子类有很多,并且各类不合,
所以子类就会去复写父类中供给的一些办法,以至于子类的办法返回成果和父类不合,
当子类的办法覆盖了父类的办法时,引用对象所指向的是子类此时的办法属性和在父类中没有被覆盖的办法,
而那些子类本身新增长的特别办法例不表现出来.
简而言之就是多态的呈现使雷同父类的事务有不合的成果,从而表现出多种状况---->多态!!
一开端对多态也是半知半解的,比来又要用到多态,所以又复习了一下
多态是持续中的一种特此外
for example
class FatherClass
{
function1(){a1}
function2(){a2}
function3(){a3}
}
class SonClass extends FatherClass
{
function1(){b1} //覆盖父类办法
function2(){b2} //覆盖父类办法
function4(){xx} //新增办法
}
FatherClass fc = new SonClass(); //前后两类型不合就产生多态了(应当说是持续关系的类型,前者必然如果后面的父类)
fc.function1(); //b1功能
fc.function2(); //b2功能
fc.function3(); //a3功能
fc.function4(); //失足啦
父类对象时编译时类型,子类是运行时类型
子类持续了父类的办法,因为父类之下的子类有很多,并且各类不合,
所以子类就会去复写父类中供给的一些办法,以至于子类的办法返回成果和父类不合,
当子类的办法覆盖了父类的办法时,引用对象所指向的是子类此时的办法属性和在父类中没有被覆盖的办法,
而那些子类本身新增长的特别办法例不表现出来.
简而言之就是多态的呈现使雷同父类的事务有不合的成果,从而表现出多种状况---->多态!!