java里如何实现多继承

java里如何实现多继承

ID:15957667

大小:24.50 KB

页数:3页

时间:2018-08-06

java里如何实现多继承_第1页
java里如何实现多继承_第2页
java里如何实现多继承_第3页
资源描述:

《java里如何实现多继承》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java里如何实现多继承   1.接口(interface),接口被用来建立类与类之间关联的标准。   Javacode   publicinterfaceITest{         publicvoidtest();   }   publicclassTestImplimplementsITest{         publicvoidtest(){                System.out.println("test");         }   }   2.抽象类(abstractclass),只要类

2、中有一个抽象方法,此类就被标记为抽象类。实际上抽象类除了被继承之外没有任何意义。   区别   1.接口是公开(public)的,里面不能有私有的方法或变量,是用于让别人使用的,实现接口的一定要实现接口里定义的所有方法。   而抽象类是可以有私有方法或私有变量的,实现抽象类可以有选择地重写需要用到的方法,但是必须实现里面所有的抽象方法。   2.抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。   但是,一个类却可以实现多个interface(java中实现多重继承的方法之一)。   3.抽象类

3、中可以有自己的数据成员,也可以有非abstarct的成员方法。   而在接口中,只能够有静态的不能被修改的数据成员(也就是必须是staticfinal的,不过在interface中一般不定义数据成员),而且所有的成员方法都是抽象的。   4.抽象类和接口所反映出的设计理念不同。   其实abstractclass表示的是"is-a"关系,interface表示的是"like-a"关系。(组合是"hasa"关系)   5.接口中定义的变量默认是publicstaticfinal型,且必须给其初值,所以实现类中不能重新定义

4、,也不能改变其值。   抽象类中的变量默认是friendly型,其值可以在子类中重新定义,也可以重新赋值。   一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。不是很建议具体类直接实现接口的。还有一种设计模式是面向接口编程,而非面向实现编程。   其实接口是抽象类的延伸,可以将它看做是纯粹的抽象类,就是说接口比抽象类还抽象,还有设计接口的目的就是为了实现C++中的多重继承,不过java团队设计的一样更有趣的东西来实现这个功能,那就是内部类(innerclass)。   内部类(innerclas

5、s)   Javacode   publicclassOuterClass{//外部类          privateclassInnerClass{}//内部类   }   一.定义   放在一个类的内部的类我们就叫内部类。   二.作用   1.内部类可以很好的实现隐藏,也就是封装性。一般的非内部类,是不允许有private与protected权限的,但内部类可以   2.内部类拥有外围类的所有元素的访问权限   3.可是实现多重继承(这个特点非常重要,个人认为它是内部类存在的最大理由之一)   4.可以避免修改

6、接口而实现同一个类中两种同名方法的调用   三.多重继承的实现   类一   Javacode   public  class Example1{   public StringgetName() {          return  "luffyke";      }   }   类二   Javacode   public  class Example2{          public  int getAge()          {               return  25;          }   

7、}   类三   Javacode   publicclassMainExample{       publicclassTest1extendsExample1{           publicStringgetName(){               returnsuper.getName();           }       }       publicclassTest2extendsExample2{           publicintgetAge(){               returns

8、uper.getAge();           }       }       publicStringshowName(){           returnnewTest1().getName();       }       publicintshowAge(){           returnnewTest2().ge

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。