当前位置: 技术问答>java相关
java继承的问题
来源: 互联网 发布时间:2015-02-10
本文导语: 我刚学习JAVA不久,在我学的过程中,我总觉得JAVA的继承不懂,因为子类继承了超类的 方法以后,如果要用方法,一样也要对类实例化,可是我不继承是也是实例化,这样就搞得我对继承不太明白了,同样的方法不要...
我刚学习JAVA不久,在我学的过程中,我总觉得JAVA的继承不懂,因为子类继承了超类的
方法以后,如果要用方法,一样也要对类实例化,可是我不继承是也是实例化,这样就搞得我对继承不太明白了,同样的方法不要继承也可以用,为什么还要继承呢?
方法以后,如果要用方法,一样也要对类实例化,可是我不继承是也是实例化,这样就搞得我对继承不太明白了,同样的方法不要继承也可以用,为什么还要继承呢?
|
继承的作用之一是代码重用:如果子类不override父类的某个public/protected方法,则这时
子类(通过继承)就“天生”拥有了这个方法,这时你直接对子类操作就可以“调用”这个方法
当然这时你可能也可以通过对父类的操作来“调用”这个方法(如果父类是可以操作的话,
比如为了结构清楚,父类被设计成一个abstract的,则这时父类中的非static方法就无法
直接使用。。。)
所以继承的使用,多半是为了OO结构上的原因,并不是“非用不可”的,即:虽然可以直接
使用父类,但为了结构清晰,依然坚持使用继承。。。
另外,如果你所使用的API类库非常强调OO,甚至通过某种方法来“迫使”用户使用继承,
则这时你就必须使用继承;反过来,如果是你在设计类库,你也可以这样做
子类(通过继承)就“天生”拥有了这个方法,这时你直接对子类操作就可以“调用”这个方法
当然这时你可能也可以通过对父类的操作来“调用”这个方法(如果父类是可以操作的话,
比如为了结构清楚,父类被设计成一个abstract的,则这时父类中的非static方法就无法
直接使用。。。)
所以继承的使用,多半是为了OO结构上的原因,并不是“非用不可”的,即:虽然可以直接
使用父类,但为了结构清晰,依然坚持使用继承。。。
另外,如果你所使用的API类库非常强调OO,甚至通过某种方法来“迫使”用户使用继承,
则这时你就必须使用继承;反过来,如果是你在设计类库,你也可以这样做