本帖最后由 Eagle 于 2014-12-6 16:59 编辑
今天我复习到了接口这里了,看的依然是毕老师的视频。听着毕老师说:
多实现解决了多继承的弊端:不确定性。
但是我刚想到一个问题:
继承一个类可以直接拿父类的方法用,而不用再写代码。 接口确实解决了多继承的不确定性,但是接口中的方法并没有具体内容,每个方法都必须复写,和自己写代码有什么不同呢? 在我看来,接口在这方面并没有解决多继承的问题,依然要写繁琐的代码。 还不如在高级编辑器里检查同一个类的所有的父类中是否有重名的方法。这样岂不是更好? - <div class="blockcode"><blockquote>
- class Fu{
- void show() //父类的show方法{
- System.out.println("Fu show run ");
- }
- }
- class Zi extends Fu//子类Zi继承Fu{
- }
- class HelloWorld{
- public static void main(String[] args) {
- Zi z = new Zi();
- z.show();//直接调用父类的show
- }
- }
复制代码大家看上面代码,子类直接调用父类方法,甚至在子类的主体上一句话都不写就可以运行父类的方法。
但是如果是接口呢? - interface Inter1
- {
- void show();
- }
- interface Inter2
- {
- void show();
- }
- class SubInter implements Inter1,Inter2//多实现
- {
- public void show()//必须复写方法,自己定义具体内容 {
- System.out.println();
- }
- }
复制代码
还得在实现接口的类中覆盖原来的方法。 所以我个人认为,仅仅代表我自己现在的看法啊。 :接口没有从根本上解决多继承的问题。 或者是我对接口的理解还不够深入才有这样的看法。 小伙伴们呢?你们怎么看?
千万别骂我啊,有问题大家讨论就行,嘿嘿。
|